索引匹配任何查找值在查找数组中

时间:2017-01-23 15:49:09

标签: excel

是否可以执行索引匹配以查找查找值中的任何单词是否在查找数组中。查找值是一个句子,因此可以包含多个单词。

在下面的示例中,输出将是 B

LOOKUP VALUE = "FISH CAT HORSE..."

LOOKUP ARRAY
DOG  A
CAT  B
FROG C

提前谢谢。

1 个答案:

答案 0 :(得分:3)

我喜欢使用AGGREGATE将行号返回到INDEX():

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($A$2:$A$4)/(ISNUMBER(SEARCH($A$2:$A$4,C1))),1)),"Not Found")

AGGREGATE是一个数组类型公式,因此引用应仅限于那些包含数据且不使用完整列引用的引用。

enter image description here

对于更动态的公式,我们可以使用INDEX / MATCH动态设置数据集的结尾。这将允许搜索参数根据数据集中的值的数量增长或缩小,从而将迭代次数限制为仅包含数据的单元格。

=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($A$2:INDEX(A:A,MATCH("ZZZ",A:A)))/(ISNUMBER(SEARCH($A$2:INDEX(A:A,MATCH("ZZZ",A:A)),C1))),1)),"Not Found")