我在一个表中使用一个值作为搜索条件,希望使用另一个表的一列中匹配的所有行。我目前的公式在此时会出现#VALUE!
错误:
{=FIND([@Col1],Table2[Col3])}
[编辑]:
我的实际公式更像是:
{=IF(NOT(ISERROR(FIND([@Col1],Table2[Col3]))),DO WORK ON THOSE ROWS,0)}
[/编辑]
这为#VALUE!
中的每个条目带来Table2[Col3]
错误,除非搜索条件出现在Table2[Col3]
的第一个单元格中,然后我正确返回位置1(它总是会在细胞的开始)。
我需要公式来检查Table2[Col3]
中的所有单元格(而不是上面只检查第一个单元格的公式)得到我的标准的结果位置,然后继续使用该数组作为冗长的一部分{ {1}}。
有人能发现我明显(或不那么明显,有希望)的错误吗?
答案 0 :(得分:1)
=IFERROR(MATCH([@col1],Table2[col3],0),"")
应该有所期望的效果。如果您正在寻找布尔值,请使用
IF(ISNUMBER(MATCH([@col1],Table2[col3],0)),"True","False")
修改强>
如果您在单元格中的任何位置查找信息,请使用通配符,对于任何数量的任何字符,最常见的是*
,对于任何 SINGLE,?
最常见1} em> character:
=IFERROR(MATCH("*"&[@col1]&"*",Table2[col3],0),"")
或供您使用:
=IF(ISNUMBER(MATCH("*"&[@col1]&"*",Table2[col3],0)),{DO WORK ON THOSE ROWS},0)