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

问题描述 投票:0回答:1

我在一个表中使用一个值作为搜索条件,希望使用在另一个表的一列中匹配的所有行。我现在的公式给出了#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]中的所有单元格(而不是上面只检查第一个单元格的公式)得到我的标准的结果位置,然后继续使用该数组作为冗长的SUMPRODUCT的一部分。

任何人都可以发现我明显(或不那么明显,有希望)的错误吗?

excel excel-formula
1个回答
1
投票

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

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

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

编辑:

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

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

或供您使用:

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

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.