我一直在努力用Excel编写一个公式,该公式可以在字符串中搜索多个关键字,然后打印在单元格中找到的关键字。
到目前为止,我一直在寻找关键字列表并返回找到的第一个关键字,但是我不了解如何获取它以返回后续匹配项。示例,并附上公式(也粘贴在下面):
=INDEX($C$2:$C$8,MATCH(1,COUNTIF(B2,"*" & $C$2:$C$8 & "*"),0))
我想要的是让A2单元格包含“猫;猫鼬”,而不仅仅是“猫”。我所做的所有搜索都提出了涉及returning个多个单元格或searching个多个单元格的解决方案。我什至不知道我是否可以使用此功能,因为我不知道此功能在三个小时之前就存在。我是根据this webpage的指示一起破解的。
那太好了!但是现在,我陷入困境,感到困惑和沮丧。我不能告诉我是否需要找到UDF,或者是否有人已经存在的VBA,为此写了一个地方,所以可以提供任何帮助!
答案 0 :(得分:1)
INDEX将仅返回一个值。使用TEXTJOIN作为数组公式
=TEXTJOIN("; ",TRUE,IF(ISNUMBER(SEARCH(C$2:$C$8,B2)),C$2:$C$8,""))
作为数组公式,退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。
TEXTJOIN是Office 365 Excel引入的。如果没有Office 365,则每个返回的单词或vba都需要单独的单元格。