首页 > 解决方案 > Excel 2016:在单元格中搜索多个术语

问题描述

我正在尝试在 Excel 2016 中使用 OR 条件在单元格中搜索多个字符串。

例如,我有一个字符串abcd1234,我想找到ab OR 12.

我正在使用SEARCH调用该函数的德语版本,SUCHEN它的行为方式应该相同。

我找到了这个答案,它提出了这个解决方案:

SEARCH({"Gingrich","Obama","Romney"},C1).

我还发现这个网站建议使用相同的语法:

SEARCH({"red","blue","green"},B5)

本网站相同:

SEARCH({"mt","msa","county","unemployment","|nsa|"},[@Tags])

所以他们基本上说列出一个用大括号括起来的逗号分隔的搜索词列表,你很好。

但是将这些放入 Excel 2016 只会导致通常毫无意义的 Excel 错误消息,该错误消息说公式存在错误,并且始终在花括号中突出显示整个部分。

以第一个示例为例,我可以让 Excel 不抛出错误消息的唯一方法是更改​​如下语法:

=SEARCH({"Gingrich";"Obama";"Romney"};C1)

但是用分号分隔搜索词并不能正确应用 OR 条件,所以这不是解决方案。

我从这个答案中知道我可以进行单独的搜索并将它们与一个条件串在一起,但我想避免这种情况,我也想知道为什么应该由多个来源确认的语法不是为我工作。

编辑:

好的,感谢 Solar Mike,我开始明白这一点:

该代码=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},A1)),1,"")确实可以正常工作。

=COUNT(SEARCH({"Romney","Obama","Gingrich"},A1))有效。

=SEARCH({"Romney","Obama","Gingrich"},A1)没有。

=ISNUMBER(SEARCH({"Gingrich","Obama","Romney"},A1))不起作用。

我很想知道原因。

标签: excelexcel-formulaexcel-2016

解决方案


好的,所以这有效:

OR(IFERROR(FIND("ab",A1,1),0),IFERROR(FIND("12",A1,1),0))

在这里测试: 在此处输入图像描述

我关注了其中一个链接和这样的版本:

=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")

对我来说按预期工作,但如果搜索是孤立的,那么它就会失败,我还没有找到解释......


推荐阅读