Excel 如果单元格包含字符串

Excel 如果单元格包含字符串,excel,if-statement,contains,Excel,If Statement,Contains,如果单元格的邻居包含特定字符串,如何为其赋值 例如,A列中的字段: dog11 cat22 cow11 chick11 duck22 cat11 horse22 cat33 B列中的语法为: =IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none")) 它总是拾取第一个真单元格,但当值不为真时,它会下降。您可以使用或()对表达式进行分组(以及和()): 如果你想测试“猫”

如果单元格的邻居包含特定字符串,如何为其赋值

例如,A列中的字段:

    dog11
    cat22
    cow11
    chick11
    duck22
    cat11
    horse22
    cat33
B列中的语法为:

=IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none"))
它总是拾取第一个真单元格,但当值不为真时,它会下降。

您可以使用
或()
对表达式进行分组(以及
和()
):

如果你想测试“猫”和“22”:


SEARCH
不返回
0
如果不匹配,则返回
#值。因此,您必须使用
IFERROR
包装对
SEARCH
的调用

例如

=如果(输入错误(搜索(“类别”,A1),0),“类别”,“无”)

=如果(输入错误(搜索(“cat”,A1),0),“cat”,如果(输入错误(搜索(“22”,A1),0),“22”,“无”))


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

嘿,谢谢你,但我希望在这里得到两个不同的结果。当一个字符串包含“cat”时,我想说“cat”,当它包含“22”时,我想说22。在现实世界的例子中,不会有重叠。谢谢,只要该值有一个,它将继续短路,除非连接。e、 g.
=连接(如果(搜索(“cat”,a1),“cat”,如果(搜索(“22”,a1),“22”,谢谢你的回答)。真不敢相信MS没有一个简单的方法来处理这个问题,比如直接返回true或false的“CONTAINS”,或者返回“-1”或实际位置的“INDEX”…你能解释为什么你的答案比已经被接受的答案更好吗?
=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")
=IF(AND(SEARCH("cat",a1),SEARCH("22",a1)),"cat and 22","none")
=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")