如果相邻单元格包含特定字符串,如何为单元格分配值?
例如,A 列中的字段:
dog11
cat22
cow11
chick11
duck22
cat11
horse22
cat33
B 列中的语法为:
=IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none"))
它总是拾取第一个 TRUE 单元格,但当值不正确时下降。
如果相邻单元格包含特定字符串,如何为单元格分配值?
例如,A 列中的字段:
dog11
cat22
cow11
chick11
duck22
cat11
horse22
cat33
B 列中的语法为:
=IF(SEARCH("cat",A1),"cat",IF(SEARCH("22",A1),"22","none"))
它总是拾取第一个 TRUE 单元格,但当值不正确时下降。
SEARCH
0
如果没有匹配则不返回,它返回#VALUE!
. 因此,您必须将调用包装到SEARCH
with 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.
您可以使用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")
=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")