夜雨聆风学习资料网

ARTICLE · 1002223

还在 IF 套娃?Excel 判断“任一满足”,3 种公式写法一次讲清

还在 IF 套娃?Excel 判断“任一满足”,3 种公式写法一次讲清

做表时经常遇到这样的需求:一行数据里,只要任意一个单元格满足条件,就要把这行标出来。很多人第一反应是写一大串 IF 嵌套,公式又长又容易错。其实同一个判断,Excel 至少有三种等价的写法,结果一模一样,你只需要挑最顺手的那一条。

01 先搞清楚要解决的问题

看这张成绩表:语文、数学、英语三科里,只要任一科是“A”,就在“方法一/方法二/方法三”列显示“符合”。注意是“任一”而不是“全部”,也不是“固定某一科”——这个前提决定了下面三类函数的选择。

图1:三科任一门为 A 的行,三种方法均显示“符合”

02 三种等价写法,背下就够用

方法一:IF + OR。OR 把三个条件“或”起来,任一为真就返回 TRUE,IF 据此输出“符合”。

=IF(OR(B2="A",C2="A",D2="A"),"符合","")

方法二:IF + COUNTIF。COUNTIF 统计区域里“A”出现的个数,只要大于 0,就说明至少有一个。

=IF(COUNTIF(B2:D2,"A")>0,"符合","")

方法三:IF + ISNUMBER + MATCH。MATCH 找“A”第一次出现的位置,找不到就报错;ISNUMBER 把“找没找到”变成 TRUE/FALSE,再交给 IF。

=IF(ISNUMBER(MATCH("A",B2:D2,0)),"符合","")

三条公式的结果完全相同:成绩表里第 1、3、5 行都是“符合”,其余行为空。条条大路通罗马,区别只在你的使用习惯。

03 换个行业场景:船舶检验也用得上

这套逻辑在船舶检验台账里几乎不用改。船体、轮机、电气三项检验,只要有一项不达标,就标记“需整改”——公式只把返回文字从“符合”改成“需整改”,其余一字不动。

=IF(OR(B2="A",C2="A",D2="A"),"需整改","")

看下面的检验表:第 1、3、5、7、9 号船只要任一检验不合格就被标出,其余 5 条干净通过。上百行的检验台账,第一条公式填好往下拖,几秒钟全部标记完成,比人工逐行核对省事得多。

图2:船舶检验中任一检验项不达标即标记“需整改”

04 到底该选哪一种

三条公式都能实现“任一满足”,取舍很简单:条件只有两三个,选 OR,一眼能看懂;条件一多,OR 会越写越长,COUNTIF 更省事;想基于“是否存在”做更复杂的判断,MATCH 组合的扩展性最强。列少用 OR,列多用 COUNTIF,就是最实用的默认答案。

05 小提示与行动

判断“任一满足”只是 IF 家族的一个入口。想系统吃透 IF、COUNTIF、MATCH 的组合用法,建议把三种写法各抄一遍,再换成自己的数据跑一次,印象远比看十遍深刻。

相关学习资料