检查单元格是否有特定的字母或字母集
在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
选项,因为你可能想不区分大小写,而不想说blast
或ablative
触发YES
。 使用逗号作为分隔符,如在OP中一样,忽略IF条件:
首先非常类似于@ user1598086的回答:
=FIND("bla",A1)
区分大小写,但返回#VALUE! 而不是NO
和一个数字,而不是YES
(但是两者都可以分别改为NO / YES)。
=SEARCH("bla",A1)
不区分大小写,所以同等对待Black
和black
。 如上返回。
前者(相当于后者)表示在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")
。 插入星号时,它将作为指定文本之后的任意数量字符的通配符。