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

Posted

技术标签:

【中文标题】检查单元格中的特定字母或一组字母【英文标题】:Check cell for a specific letter or set of letters 【发布时间】:2012-10-25 03:14:54 【问题描述】:

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

例如,如果我输入 =IF(A1="Black";"YES";"NO") 并且 A1 等于“Black” - 它会正确输出“YES”。但是,当我输入=IF(A1="Bla";"YES";"NO") 时,它会输出“NO”。有没有我可以使用的公式,我可以说像=IF(A1 CONTAINS "Bla";"YES";"NO") 这样它输出“YES”。

【问题讨论】:

【参考方案1】:

你可以使用RegExMatch:

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

【讨论】:

【参考方案2】:

有些选项没有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 返回一个数字,但为blazer, blue 返回一个#VALUE!

仅当一个完整的单词本身(即在空格之间 - 不在“句子”的开头或结尾)时才找到Bla

=SEARCH(" Bla ",A1) 

由于上述所有情况下的返回值都是数字(“找到”,因此YES 首选)或#VALUE!,我们可以使用 ISERROR 在 IF 公式中测试#VALUE!,例如以第一个示例以上:

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

regexmatch 更长,但组件很容易调整。

【讨论】:

@KaiNoack 您需要在 Google 电子表格中将 ; 替换为 , @pnuts 很好的答案!【参考方案3】:

您可以使用以下公式,

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

【讨论】:

【参考方案4】:

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

【讨论】:

这不起作用。尝试: =if(N7="N*",0,1) 对单元格值“不,谢谢”,它返回“1”

以上是关于检查单元格中的特定字母或一组字母的主要内容,如果未能解决你的问题,请参考以下文章

检查表格视图单元格中的部分索引标题

如何在表格的一个列单元格中输入字母,而在另一列单元格中只输入数字?

更改电子表格中每个单元格中第一个字母的大小写

excel如何计算一行excel单元格中相同字符字母出现次数

从单元格中获取值并保存为变量

excel2010英文大写怎么变小写