Excel formula 结合文本搜索和查找表

Excel formula 结合文本搜索和查找表,excel-formula,Excel Formula,我有一列字符串(由人员手动输入的错误描述)(A2:A1000),我希望搜索特定的单词(根据描述创建类别),并根据找到的单词,在第二列(B2:B1000)中输入特定的大小写值(类别标签)。目前,这是由表单的嵌套if语句处理的 B2=if(isnumber(search("Flag Word 1",A2)),"Case Word 1", if(isnumber(search("Flag Word 2",A2)),"Case Word 2", ...)) 显然,对于大量的标志/大小写单词,这会很快变

我有一列字符串(由人员手动输入的错误描述)(A2:A1000),我希望搜索特定的单词(根据描述创建类别),并根据找到的单词,在第二列(B2:B1000)中输入特定的大小写值(类别标签)。目前,这是由表单的嵌套if语句处理的

B2=if(isnumber(search("Flag Word 1",A2)),"Case Word 1", if(isnumber(search("Flag Word 2",A2)),"Case Word 2", ...))
显然,对于大量的标志/大小写单词,这会很快变得混乱。我希望能够创建一个查找表,在查找表中使用excel搜索列a查找单词,并返回相应的值,但我不确定这是否可行-如果不使用VBA,这似乎是不可能的。有没有其他方法可以达到同样的效果

谢谢


~p

您可以尝试这样的数组公式(必须使用Ctrl-Shift-Enter键输入):-

它假设D2:D4中有一个关键字列表,并将为您提供列表中的第一个关键字,该关键字包含在A2中的字符串中。您可以将“最小值”更改为“最大值”,以获得最后一场比赛

如果每个关键字有不同的大小写,请使用
=索引($E$2:$E$4,MIN.)。。。
=INDEX($D$2:$D$4,MIN(IF(ISNUMBER(SEARCH($D$2:$D$4,A2)),(ROW($D$2:$D$4)-ROW($D$1)))))