
概括
要测试单元格是否包含某些单词但不包含其他单词,可以使用基于 COUNT 和 SEARCH 函数的数组公式,并用 AND 函数包裹起来。
在所示示例中,C5 单元格中的公式为:
{=AND(COUNT(SEARCH(inc,B5))>0,COUNT(SEARCH(exc,B5))=0)}
当 B5 包含命名区域inc中的任何单词,且不包含命名区域exc中的任何单词时,此公式返回 TRUE 。
这是一个数组公式,必须使用 Control + Shift + Enter 组合键输入。
通用公式
{=AND(COUNT(SEARCH(inc,A1))>0,COUNT(SEARCH(exc,A1))=0)}
解释
该公式利用 AND 函数同时测试两个条件:
- 指定范围inc中的单词数量大于 0
- 指定范围exc内的单词计数为 0
如果两个条件都为真,则公式返回真;如果任一条件为假,则公式返回假。
使用 SEARCH 函数并借助 COUNT 函数进行多词测试。
当 SEARCH 函数接收到多个待查找项时,它会返回一个结果数组,每个结果对应一个数组元素。如果找到匹配项,SEARCH 函数会返回匹配项的位置。如果未找到匹配项,SEARCH 函数会返回 #VALUE 错误。COUNT 函数用于统计 SEARCH 返回的数组中数字的数量。默认情况下,COUNT 函数会忽略错误。
在所示示例中,公式的求解步骤如下:
=AND(COUNT({1;11;#VALUE!})>0,COUNT({#VALUE!;#VALUE!})=0)
=AND(2>0,0=0)
=AND(TRUE,TRUE)
=TRUE
使用硬编码值
您无需使用范围来列出事物。如果您只需要查找少量事物,可以使用数组格式的列表,这称为数组常量。例如,要检测红色、蓝色或绿色,但排除粉色和橙色,您可以使用:
=AND(COUNT(SEARCH({"red","blue","green"},B5))>0,COUNT(SEARCH({"orange","pink"},B5))=0)










