Excel如何判断A列含check且B列含900/1185时返回对应值
Excel 公式修正结果
原公式错误原因
- 列引用错位:判断A列是否包含
check错引用B列单元格,判断B列数值错引用C列单元格,返回值也错误指向C列 - 逻辑结构错误:
AND函数仅包含了2个判断参数,1185的匹配逻辑被放到AND外,整体括号不匹配,语法错误 - 适配性错误:B列为纯数字格式,不需要用
SEARCH做文本搜索,直接做数值判断更准确
正确公式(适配你描述的场景)
C4单元格输入以下公式,向下填充即可:
=IF(AND(ISNUMBER(SEARCH("check",A4)),OR(B4=900,B4=1185)),B4,"N")
公式说明
ISNUMBER(SEARCH("check",A4)):不区分大小写匹配A列单元格是否包含check字符串,完全符合你的要求OR(B4=900,B4=1185):直接判断B列数值是否为900或1185,适配B列数字格式的场景,不会因为小数点后两位的展示样式出现匹配错误- 两个条件同时满足时返回B列对应值,否则返回
N
可选兼容版本(如果需要用SEARCH匹配B列)
如果后续B列可能出现文本混合的场景,需要坚持用SEARCH实现匹配,可以使用以下公式:
=IF(AND(ISNUMBER(SEARCH("check",A4)),OR(ISNUMBER(SEARCH("900",B4)),ISNUMBER(SEARCH("1185",B4)))),B4,"N")
内容的提问来源于stack exchange,提问作者misner3456
相关产品推荐
相关产品推荐

