所以我在Excel中有两个列表。
第一个列表由大字符串组成。
第二个列表由较小的字符串组成。
我需要检查第一个列表,以查看第二个列表中的任何字符串是否包含在每个单元格中。
是否有一个excel公式?
我可以使用isnumber公式分别查找每个人
=IF(ISNUMBER(SEARCH("*dog*",A1)),"dog","No Dog")
但是我要经历几百遍,所以如果我可以做像VLOOKUP这样的事情,那会更好。
例如,如果第一个列表中的一个单元格与“无聊”联系,而第二个列表包含字母的前4个字母(a,b,c,d),则可以使用此类中的“真”值。然后,我想检查列表中的第二个单元格,如果那是“ Tempest”,那么我需要的是“ False”值,依此类推,依次类推。
答案 0 :(得分:3)
在 A 列中使用短语,在 B 列中使用关键字,在 D1 中输入数组公式:
=LEN(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B$1:B$10,A1)),B$1:B$10,"")))>0
数组公式必须使用 Ctrl + Shift + Enter 输入,而不仅仅是 Enter 键。如果正确完成此操作,则公式将显示在公式栏中,并带有大括号。
注意:
此公式的核心:
=TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH(B$1:B$10,A1)),B$1:B$10,""))
实际上列出了关键字:
EDIT#1:
如果您的Excel版本不支持TEXTJOIN()
,请使用以下数组公式:
=LEN(IFERROR(INDEX(B:B,MATCH(TRUE,ISNUMBER(SEARCH($B$1:$B$10,A1)),0)),""))>0
或以下非数组公式:
=SUMPRODUCT(--ISNUMBER(SEARCH($B$1:$B$10,A1)))>0
答案 1 :(得分:0)