检查单元格中的特定字母或一组字母


124

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

例如,如果我放置=IF(A1="Black";"YES";"NO")并且A1等于“黑色”,则它正确输出“是”。但是,当我把=IF(A1="Bla";"YES";"NO")它输出“否”。有什么我可以使用的公式,我可以说类似的东西,=IF(A1 CONTAINS "Bla";"YES";"NO")以便输出“ YES”。

Answers:


161

您可以使用RegExMatch

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

74

有些选项不带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但组件易于调节。


您需要在Google Spreadsheet 中将@KaiNoack替换;,
Michael

@pnuts很好的答案!
迈克尔

2

您可以使用以下公式,

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

-8

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


2
这是行不通的。尝试过:= if(N7 =“ N *”,0,1)放在“否,谢谢”单元格值上,并返回“ 1”
Clay Nichols
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.