检查单元格中是否有特定字母或一组字母

时间:2012-11-05 09:47:55

标签: google-sheets

在Google电子表格中,我想使用一个公式,如果某个单元格包含某些字母,它将输出某个文本或数字。

例如,如果我放=IF(A1="Black";"YES";"NO")而A1等于“黑” - 它会正确输出“是”。但是当我把=IF(A1="Bla";"YES";"NO")输出“NO”时。是否有任何我可以使用的公式,我可以说=IF(A1 CONTAINS "Bla";"YES";"NO")之类的东西,所以输出“是”。

4 个答案:

答案 0 :(得分:147)

您可以使用RegExMatch

=IF(RegExMatch(A1;"Bla");"YES";"NO")

答案 1 :(得分:64)

一些没有REGEXMATCH的选项,因为您可能希望不区分大小写而不想说blastablative来触发YES。使用逗号作为分隔符,如在OP中,暂时忽略IF条件:

首先非常类似于@ user1598086的答案:

=FIND("bla";A1)

区分大小写但返回#VALUE!而不是NO和数字而不是YES(两者都可以分别改为NO / YES)。

=SEARCH("bla";A1)  

不区分大小写,因此请同等对待Blackblack。如上所述返回。

前者(后者等同于)表示bla在 A1中的前三个字符后是否出现

=FIND("bla";A1;4)  

blazer, black返回#VALUE!blazer, blue的数字。

仅在完整单词本身(即空格之间 - 而不是在'句子的开头或结尾处)时才能找到Bla

=SEARCH(" Bla ";A1) 

由于上述所有情况下的返回值都是数字("找到",因此YES首选)或#VALUE!我们可以使用ISERROR来测试#VALUE!在IF公式中,例如采用上面的第一个例子:

 =if(iserror(FIND("bla";A1));"NO";"YES")  

regexmatch更长,但组件很容易调整。

答案 2 :(得分:2)

您可以使用以下公式

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")

答案 3 :(得分:-8)

只需使用= IF(A1="Bla*","YES","NO")即可。插入星号时,它将作为指定文本后任意数量字符的通配符。