在 Google 电子表格中,如果某个单元格包含某些字母,我想使用一个公式来输出某个文本或数字。
例如,如果我输入=IF(A1="Black";"YES";"NO")并且 A1 等于“Black” - 它会正确输出“YES”。然而,当我把=IF(A1="Bla";"YES";"NO")它输出“否”。有没有我可以使用的公式,我可以这样说,=IF(A1 CONTAINS "Bla";"YES";"NO")所以它输出“是”。
在 Google 电子表格中,如果某个单元格包含某些字母,我想使用一个公式来输出某个文本或数字。
例如,如果我输入=IF(A1="Black";"YES";"NO")并且 A1 等于“Black” - 它会正确输出“YES”。然而,当我把=IF(A1="Bla";"YES";"NO")它输出“否”。有没有我可以使用的公式,我可以这样说,=IF(A1 CONTAINS "Bla";"YES";"NO")所以它输出“是”。
您可以使用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。返回如上。
前者(对于后者等价物)表示是否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但组件很容易调节。
您可以使用以下公式,
=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
只需使用 = IF(A1="Bla*","YES","NO")。插入星号时,它充当指定文本后任意数量字符的通配符。