检查单元格中的特定字母或一组字母
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
,因为您可能希望不区分大小写并且不想说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
返回一个数字,但为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”以上是关于检查单元格中的特定字母或一组字母的主要内容,如果未能解决你的问题,请参考以下文章
如何在表格的一个列单元格中输入字母,而在另一列单元格中只输入数字?