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

时间:2020-04-07 07:37:33

标签: excel excel-formula office365 wildcard

我正在寻找一个Excel公式,如果该单元格包含一个单词模式(基本上想知道是否存在任何此类单元格),则该计数或返回true,但是该公式仅在

时才将一个单元格识别为有效

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

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

要求3:要检查的输入单元格可以包含此匹配词,并且可以包含前缀“ /”(空格)或换行符/换行符。因此,公式应将该单元格识别为在两种情况下均有效

示例单词模式: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中有效的公式,那将是很好的

2 个答案:

答案 0 :(得分:1)

请尝试使用以下公式,其中A3是要搜索的文本,而要找到的文本在A1中。

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

答案 1 :(得分:1)

您可以尝试以下公式:

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

修改

要解决空字符串问题:

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

enter image description here

修改2: 要计算包含模式的单元格数量,可以使用数组公式:

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

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

enter image description here