如果它的邻居包含特定的字符串,如何为单元格赋值?如果一个单元格包含一个字符串
例如,在列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( “猫”,A1),0), “猫”, “无”)
或
= 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)
所以如果你想考 “猫” 和 “22”:
=IF(AND(SEARCH("cat",a1),SEARCH("22",a1)),"cat and 22","none")
嘿,谢谢你,但我希望能在这里得到两个不同的结果。当一个字符串包含“猫”时,我想说“猫”,当它包含“22”我想说22.在现实世界的例子中,将不会有重叠。谢谢 – Csongor 2012-08-08 15:11:02
只要值有一个,它就会继续短路,除非你连接在一起。例如'=连结(IF(SEARCH(“cat”,a1),“cat”,“”),IF(SEARCH(“22”,a1),“22”,“”))' – 2012-08-08 15:25:57
谢谢你的回答。不能相信MS没有做一个简短的方法来处理这个问题,比如“CONTAINS”直接返回true或false,或者“INDEX”返回“-1”或者实际位置...... – AFract 2016-03-31 16:42:27