索引匹配,其中查找值在查找数组中

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

在下面的例子中,输出是B

LOOKUP VALUE = "FISH CAT HORSE..." LOOKUP ARRAY DOG A CAT B FROG C 

先谢谢你。

我喜欢使用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是一个数组types公式,因此引用应该仅限于那些有数据并且不使用完整列引用的引用。

在这里输入图像说明


对于更dynamic的公式,我们可以使用INDEX / MATCH来dynamic设置数据集的结束。 这将允许search参数根据数据集中值的数量而增长或减less,从而将迭代的次数限制为仅包含其中数据的单元。

 =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")