如果一个单元格包含一个字符串

问题描述 投票:49回答:3

如果邻居的值包含特定字符串,如何为单元格分配值?

例如,列A中的字段:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33

B列中的语法为:

=IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none"))

它总是拾取第一个TRUE单元格,但当该值不为true时会丢弃。

excel if-statement contains
3个回答
104
投票

SEARCH如果没有匹配项,则不返回0,而是返回#VALUE!。因此,您必须使用SEARCH包装对IFERROR的调用。

例如...

= IF(IFERROR(SEARCH(“ cat”,A1),0),“ cat”,“ none”)

= IF(IFERROR(SEARCH(“ cat”,A1),0),“ cat”,IF(IFERROR(SEARCH(“ 22”,A1),0),“ 22”,“ none”))]

这里,IFERROR在工作时从SEARCH返回值;否则为0的给定值。


4
投票

您可以使用OR()分组表达式(以及AND()):

=IF(OR(condition1, condition2), true, false)

=IF(AND(condition1, condition2), true, false)

因此,如果您要测试“ cat”和“ 22”:

=IF(AND(SEARCH("cat",a1),SEARCH("22",a1)),"cat and 22","none")

0
投票
=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")
© www.soinside.com 2019 - 2024. All rights reserved.