【问题标题】:Check cell for a specific letter or set of letters检查单元格中的特定字母或一组字母
【发布时间】:2023-04-04 04:41:01
【问题描述】:

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

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

【问题讨论】:

    标签: google-sheets


    【解决方案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”
        猜你喜欢
        • 2015-03-28
        • 2013-10-19
        • 1970-01-01
        • 1970-01-01
        • 2023-02-03
        • 1970-01-01
        • 2022-12-18
        • 1970-01-01
        • 2019-02-12
        相关资源
        最近更新 更多