如何检查 excel 单元格是否包含单词

How to check if a excel cell contains a word

我正在寻找一个 excel 公式,如果单元格包含单词模式(基本上想知道是否存在任何这样的单元格),它要么计数要么 returns true,但公式应识别仅当

时单元格才有效

要求 1:完整的单词模式要在被检查的单元格中作为单个单词出现(例如:如果 ab12 是模式,ab123 无效,只有 ab12 有效)

要求2:匹配词可以在被检查单元格的开头或结尾或中间

要求 3:正在检查的输入单元格可能包含此匹配词,并且可以包含 prefix/suffix 作为 " "(space) 或一行 break/feed 。因此,该公式应将此单元格标识为对这两种情况均有效

示例单词模式:ab-1_cd_1234

目前我已经尝试了下面的两个公式(也尝试了标准中的“”、“*”、“~”)但没有奏效:

公式 1:=ISNUMBER(SEARCH(A2,B2))

          Here, A2 is the pattern, B2 is the input to verify and will be verified in full B column

公式 2:=COUNTIF($B:$B, "* " &A2& " *")

          Here, B:B is the input column and A2 is the pattern

此外,我了解到单词 < 和 > 中有一个通配符定义单词的开头和结尾,但在 excel 中不起作用。

所以,如果我能得到适用于 excel

的任何公式,那就太好了

请试试这个公式,其中A3是要查找的文本,要查找的文本在A1中。

=IF(ISERROR(FIND(" "&$A&" "," "&SUBSTITUTE(A3,CHAR(10)," ")&" ")),"",TRUE)

您可以尝试以下公式:

=SUMPRODUCT(--($A=FILTERXML("<a><b>" & SUBSTITUTE(SUBSTITUTE(B2,CHAR(10),"</b><b>")," ","</b><b>") & "</b></a>","//b")))>0

编辑

解决空字符串问题:

=SUMPRODUCT(--($A & "#"=FILTERXML("<a><b>" & SUBSTITUTE(SUBSTITUTE(B2,CHAR(10),"#</b><b>")," ","#</b><b>") & "#</b></a>","//b")))>0

编辑 2: 要计算包含模式的单元格数,您可以使用数组公式:

=SUMPRODUCT(--(IFERROR(SEARCH(" " & A2 & " "," " & SUBSTITUTE($B:$B,CHAR(10)," ") & " "),0)>0))

编辑后的数组公式按ctrl+shift+enter

确认