如果相邻的单元格包含特定字符串,我该如何给单元格赋值?
例如,在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!
。因此需要用IFERROR
来包装SEARCH
的调用。
例如...
=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
。
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")
=Concatenate(IF(SEARCH("cat",a1),"cat",""),IF(SEARCH("22",a1),"22",""))
- Brad Christie=IFS(COUNTIF(A1,"*cats*"),"cats",COUNTIF(A1,"*22*"),"22",TRUE,"none")