3

我整天都在尝试在 Excel 中编写一个公式,该公式可以在字符串中搜索多个关键字,然后打印它在单元格中找到的关键字。

我已经搜索关键字列表并返回找到的第一个关键字,但我不知道如何让它返回后续匹配项。示例,完整的公式(也粘贴在下面):

显然我不允许嵌入图像,所以这是一个链接。

=INDEX($C$2:$C$8,MATCH(1,COUNTIF(B2,"*" & $C$2:$C$8 & "*"),0))

我想要的只是让 A2 单元格包含“猫;猫鼬”,而不仅仅是“猫”。我所做的所有搜索都提出了涉及返回多个单元格或搜索多个单元格的解决方案。我什至不知道这是否是我可以用这个功能做的事情,因为直到三个小时前我才知道这个功能存在。我从这个网页上的说明一起破解了这个。

那太棒了!但现在我陷入困境、困惑和沮丧。我不知道我是否需要找到 UDF,或者是否有一些预先存在的 VBA 有人为此写过,所以感谢您的帮助!

4

1 回答 1

2

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 都需要单独的单元格。

于 2018-09-24T21:00:40.600 回答