49

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

例如,A 列中的字段:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33

B 列中的语法为:

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

它总是拾取第一个 TRUE 单元格,但当值不正确时下降。

4

3 回答 3

104

SEARCH0如果没有匹配则不返回,它返回#VALUE!. 因此,您必须将调用包装到SEARCHwith IFERROR

例如...

=IF(IFERROR(SEARCH("cat", A1), 0), "cat", "none")

或者

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

Here, IFERROR returns the value from SEARCH when it works; the given value of 0 otherwise.

于 2012-08-08T16:33:11.167 回答
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")
于 2012-08-08T15:06:14.593 回答
0
=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")
于 2020-06-13T22:48:23.993 回答