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

如何检查excel单元格是否包含单词,excel,excel-formula,office365,wildcard,Excel,Excel Formula,Office365,Wildcard,我正在寻找一个excel公式,如果单元格包含一个单词模式(基本上是想知道是否有这样的单元格存在),则该公式可以计数或返回true,但只有当 要求1:完整的单词模式出现,并作为单个单词出现在被检查的单元格中(例如:如果ab12是模式,ab123无效,只有ab12有效) 要求2:匹配字可以在被检查单元格的开头、结尾或中间 要求3:正在检查的输入单元格可能包含此匹配单词,并且可以包含前缀/后缀“”(空格)或换行符/换行符。因此,公式应确定该单元格对这两种情况都有效 单词模式示例:ab-1_cd_123

我正在寻找一个excel公式,如果单元格包含一个单词模式(基本上是想知道是否有这样的单元格存在),则该公式可以计数或返回true,但只有当

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

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

要求3:正在检查的输入单元格可能包含此匹配单词,并且可以包含前缀/后缀“”(空格)或换行符/换行符。因此,公式应确定该单元格对这两种情况都有效

单词模式示例:ab-1_cd_1234

目前,我尝试了以下两个公式(也尝试了标准中的“*”、“~”),但都不起作用:

公式1:=ISNUMBER(搜索(A2,B2))

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

另外,我知道word中有一个通配符,它定义了单词的开头和结尾,但在excel中不起作用


因此,如果我能得到任何在excel中工作的公式,那就太好了。请尝试这个公式,其中A3是要搜索的文本,而要找到的文本是A1


=IF(iError(查找(“&$A$1&)”,“&&SUBSTITUTE(A3,CHAR(10),”)&“),”,TRUE)

请尝试此公式,其中A3是要搜索的文本,要查找的文本位于A1中


=IF(ISERROR(查找(“&$A$1&)”,“&&SUBSTITUTE(A3,字符(10),”)&“),”,TRUE)
您可以尝试以下公式:

=SUMPRODUCT(--($A$2=FILTERXML("<a><b>" & SUBSTITUTE(SUBSTITUTE(B2,CHAR(10),"</b><b>")," ","</b><b>") & "</b></a>","//b")))>0
编辑后的数组公式通过按ctrl键确认


您可以尝试以下公式:

=SUMPRODUCT(--($A$2=FILTERXML("<a><b>" & SUBSTITUTE(SUBSTITUTE(B2,CHAR(10),"</b><b>")," ","</b><b>") & "</b></a>","//b")))>0
编辑后的数组公式通过按ctrl键确认


您能详细解释一下要求3吗?尤其是你的例子。你希望在这里找到什么样的模式?是的,请从你的问题中消除歧义。在明确要在单元格的开头、中间或结尾查找
ab12
(而不是“ab123”)后,可以继续说明
ab12
可能“包含前缀/后缀为“”(空格)或换行符/换行符”。事实上,
ab12
不能“包含”任何东西,特别是不能包含前缀或后缀,这些前缀或后缀是根据其性质加上去的。为了给蛋糕锦上添花,你引用“ab-1_cd_1234”作为例子,它看起来像是你明确排除的同一个“ab123”的例子。我哪里出错了?@JvdV-你知道的一个单元格可能包含多行,如果我正在搜索的模式位于新行的开头(在单元格中),那么在此之前不会有空格,它将是换行符。同样,当同一单词出现在行尾时(换行符将在单词末尾之后,而不是空格)。在所有其他场景中,单元格将包含类似“…文本…与模式匹配的单词…文本…”的文本。我想要搜索的模式如我的示例中所述:ab-1_-cd_1234@Variatus-我希望根据我之前的评论清除您的查询。并且,仅供参考,我正在搜索的单元格将不仅仅包含一个单词。它可能是一组单词或一组包含多个文本的行,我正在从中搜索具有特定模式的单词。更新了查询,希望现在清楚了。你能解释更多关于需求3的信息吗?尤其是你的例子。你希望在这里找到什么样的模式?是的,请从你的问题中消除歧义。在明确要在单元格的开头、中间或结尾查找
ab12
(而不是“ab123”)后,可以继续说明
ab12
可能“包含前缀/后缀为“”(空格)或换行符/换行符”。事实上,
ab12
不能“包含”任何东西,特别是不能包含前缀或后缀,这些前缀或后缀是根据其性质加上去的。为了给蛋糕锦上添花,你引用“ab-1_cd_1234”作为例子,它看起来像是你明确排除的同一个“ab123”的例子。我哪里出错了?@JvdV-你知道的一个单元格可能包含多行,如果我正在搜索的模式位于新行的开头(在单元格中),那么在此之前不会有空格,它将是换行符。同样,当同一单词出现在行尾时(换行符将在单词末尾之后,而不是空格)。在所有其他场景中,单元格将包含类似“…文本…与模式匹配的单词…文本…”的文本。我想要搜索的模式如我的示例中所述:ab-1_-cd_1234@Variatus-我希望根据我之前的评论清除您的查询。并且,仅供参考,我正在搜索的单元格将不仅仅包含一个单词。它可能是一组单词或一组包含多个文本的行,我正在从中搜索具有特定模式的单词。更新了查询,希望现在就清楚了。谢谢。但是,它不适用于以下场景a)abdcddab-1_cd_1234:场景3 b)场景4:abdcddab-1_cd_1234,其中,搜索模式是另一个单词的一部分,我不想包括在内。一张图片胜过一千个单词。现在我明白你需要什么了。:-)我已经修改了我的公式。请试一试。谢谢,它对我提到的场景有效。但是,你能告诉我这个公式是否可以修改,以便可以验证整列的正确性吗?正如您所看到的,我的公式2最初有COUNTIF,我可以通过完整的B:B列进行解析,以验证A2中的模式(但无法匹配完整的单词)。现在,你的公式只能检查这里的输入单元格A3。如果你从辅助列的角度考虑,我的公式可以用在该列的第3行,如果你将“A3”改为“B3”,并将字符串模式放在A1中。从第3行复制到B列中使用的所有行并使用
=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
=SUMPRODUCT(--(IFERROR(SEARCH(" " & A2 & " "," " & SUBSTITUTE($B$2:$B$10,CHAR(10)," ") & " "),0)>0))