使用表中结构化引用的FIND公式给出了#VALUE Excel

时间:2018-01-03 09:00:27

标签: excel excel-formula

我在一个表中使用一个值作为搜索条件,希望使用另一个表的一列中匹配的所有行。我目前的公式在此时会出现#VALUE!错误:

{=FIND([@Col1],Table2[Col3])}

[编辑]:

我的实际公式更像是:

{=IF(NOT(ISERROR(FIND([@Col1],Table2[Col3]))),DO WORK ON THOSE ROWS,0)}

示例图片: Example Tables

[/编辑]

这为#VALUE!中的每个条目带来Table2[Col3]错误,除非搜索条件出现在Table2[Col3]的第一个单元格中,然后我正确返回位置1(它总是会在细胞的开始)。

我需要公式来检查Table2[Col3]中的所有单元格(而不是上面只检查第一个单元格的公式)得到我的标准的结果位置,然后继续使用该数组作为冗长的一部分{ {1}}。

有人能发现我明显(或不那么明显,有希望)的错误吗?

1 个答案:

答案 0 :(得分:1)

=IFERROR(MATCH([@col1],Table2[col3],0),"")

应该有所期望的效果。如果您正在寻找布尔值,请使用

IF(ISNUMBER(MATCH([@col1],Table2[col3],0)),"True","False")

修改

如果您在单元格中的任何位置查找信息,请使用通配符,对于任何数量的任何字符,最常见的是*,对于任何 SINGLE,?最常见 character:

=IFERROR(MATCH("*"&[@col1]&"*",Table2[col3],0),"")

或供您使用:

=IF(ISNUMBER(MATCH("*"&[@col1]&"*",Table2[col3],0)),{DO WORK ON THOSE ROWS},0)

enter image description here