我正在使用索引匹配来检查表中的多个值。现在我的问题是一个单元格中有多个值。
我的工作表如下所示:
第一个公式如下所示:
=INDEX(C2:C11;MATCH(F2&G2;INDEX($A$2:$A$11&$B$2:$B$11;0);-1))
正如你所看到的,它只适用于HIGH
,但是当涉及到LOW
时它是错误的。(在上图中以红色标记)
有什么建议吗?如何解决这个问题?
最佳答案
您将必须使用某种类型的通配符匹配来查找字符串中的字符串,而不是近似的 MATCH function使用 -1 作为可选的 [match_type] 进行查找。
H2 中的数组公式²为,
=INDEX($C$2:$C$11; MATCH("*"&G2&"*"; IF($A$2:$A$11=F2; $B$2:$B$11); 0))
该公式假定您不会因为在 PKLP 中找到像 KL 或 TT 这样的扇区而对扇区数据产生误报 或 TTL。如果您的扇区可能会产生这样的误报,那么您将添加
=INDEX($C$2:$C$11; MATCH("*, "&G2&", *"; IF($A$2:$A$11=F2; ", "&$B$2:$B$11&", "); 0))
请注意,<逗号><空格> 分隔符已添加到源和目标中。
1 MATCH function 中的 [match_type] 为 1 或 -1不应该永远用于未排序的数据。当用于未排序的数据时,正确的结果更多的是巧合而不是可靠。
²数组公式需要使用 Ctrl+Shift+Enter↵ 来完成。一旦正确输入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。
关于excel - 使用索引匹配检查一个单元格中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647172/