检查单元格是否有特定的字母或字母集

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

例如,如果我把=IF(A1="Black","YES","NO")和A1等于“黑” – 它输出“是”正确。 然而,当我把=IF(A1="Bla","YES","NO")它输出“否”。 有什么公式可以用,我可以这样说=IF(A1 CONTAINS "Bla","YES","NO")所以输出“YES”。

您可以使用RegExMatch

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

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

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

 =FIND("bla",A1) 

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

 =SEARCH("bla",A1) 

不区分大小写,所以同等对待Blackblack 。 如上返回。

前者(相当于后者)表示在A1的前三个字符之后是否存在bla

 =FIND("bla",A1,4) 

返回一个blazer, black的号码blazer, black#VALUE!blazer, blue

只有当一个完整的单词本身(即在空格之间 – 而不是在一个“句子”的开头或结尾)才能findBla

 =SEARCH(" Bla ",A1) 

由于在上述所有情况下的回报是一个数字(“find”,所以YES首选)或#VALUE! 我们可以使用ISERROR来testing#VALUE! 在一个IF公式中,例如上面的第一个例子:

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

比正则regexmatch长,但组件很容易调整。

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