在Google电子表格中,我想使用一个公式,如果某个单元格包含某些字母,它将输出某个文本或数字。
例如,如果我放=IF(A1="Black";"YES";"NO")
而A1等于“黑” - 它会正确输出“是”。但是当我把=IF(A1="Bla";"YES";"NO")
输出“NO”时。是否有任何我可以使用的公式,我可以说=IF(A1 CONTAINS "Bla";"YES";"NO")
之类的东西,所以输出“是”。
答案 0 :(得分:147)
您可以使用RegExMatch
:
=IF(RegExMatch(A1;"Bla");"YES";"NO")
答案 1 :(得分:64)
一些没有REGEXMATCH
的选项,因为您可能希望不区分大小写而不想说blast
或ablative
来触发YES
。使用逗号作为分隔符,如在OP中,暂时忽略IF条件:
首先非常类似于@ user1598086的答案:
=FIND("bla";A1)
区分大小写但返回#VALUE!而不是NO
和数字而不是YES
(两者都可以分别改为NO / YES)。
=SEARCH("bla";A1)
不区分大小写,因此请同等对待Black
和black
。如上所述返回。
前者(后者等同于)表示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")
即可。插入星号时,它将作为指定文本后任意数量字符的通配符。