
嵌套IF写疯了?IF+AND/OR才是多条件判断的正确打开方式
前两天有个读者给我发了一张考核表,两列条件:业绩和出勤。
她说:"我想判断业绩≥10000且出勤≥25天的评优秀,IF怎么写?"
我说你用AND包一下就行。
她回:"AND是啥?我本来想用IF套IF……"
我赶紧拦住。IF套IF不是不行,条件少的时候还能凑合,但一多你就知道了——公式长得你自己都看不懂,改起来更想哭。
上期学了IF单独用,一个条件轻松搞定。但实际工作中,只看一个指标的情况真不多。业绩要看,出勤要看,有时候还得看工龄、看是不是正式工……怎么一次搞定多个条件?今天就把AND和OR讲清楚。

IF+AND:全部满足才通过
AND就是"并且"——所有条件同时满足,才返回TRUE。
写起来简单,把多个条件用AND包起来,塞进IF的第一个参数:
=IF(AND(B2>=10000,C2>=25),"优秀","待努力")
翻译成人话:业绩≥10000并且出勤≥25天,显示"优秀",否则"待努力"。
回车一看——张三两个都达标,优秀;李四业绩过了但出勤差两天,待努力。没啥问题(至少我测的几条数据都对了)。
我第一次用AND的时候犯了个特别蠢的错——把AND写在IF外面了:
=AND(IF(B2>=10000,"优秀"),C2>=25)
Excel直接甩我一个#VALUE!。我盯着屏幕查了十多分钟——真的是十多分钟,翻来覆去看语法没毛病啊,最后才发现——AND是给IF当条件用的,得放在IF的括号里面,不是反过来。IF在外,AND在内。记住这个顺序,能少踩一个坑。
还有个坑,AND里的条件用逗号隔开,不是加号。我见过有人这么写——
AND(B2>=10000 + C2>=25)
加号是数学运算,逗号才是"并且"。这个搞混了,公式直接废。
AND可以放更多条件,三个四个都行:
=IF(AND(B2>=10000,C2>=25,D2="正式工"),"优秀","待努力")
业绩要达标、出勤要达标、还得是正式工——三个全满足才算优秀。条件再多也不怕,往AND里加逗号就行。
说个我自己的用法:我们部门做月度考核,条件四个——业绩达标、出勤达标、客户满意度≥90、零投诉。以前不知道AND,我硬写了四层IF嵌套,改一次公式要数括号数半天,有一次数错了一个括号,整列数据全乱了,排查了半小时才定位到问题。后来换成AND,公式短了一半,逻辑一眼就看清。那一刻的感觉就是——早干嘛去了。
说到这个,顺便对比一下嵌套IF和IF+AND:
嵌套IF写法: =IF(B2>=10000,IF(C2>=25,IF(D2="正式工","优秀","待努力"),"待努力"),"待努力")
IF+AND写法: =IF(AND(B2>=10000,C2>=25,D2="正式工"),"优秀","待努力")
上面那个,我自己写完过五分钟再看都得想一会儿"这个待努力到底是哪个条件的"。下面这个,扫一眼就明白。我同事之前写过5层嵌套IF,后来要改判断逻辑,盯着公式看了十分钟,跟我说"这谁写的?"——他自己的。所以条件≥2个,就别嵌套了,用AND或OR省太多事。

IF+OR:满足一个就行
说完AND,OR就简单了——它是"或者",满足任意一个条件就通过。
还是那张考核表,规则变了:业绩达标或者出勤达标,就给奖励。
=IF(OR(B2>=10000,C2>=25),"有奖励","无奖励")
张三业绩达标——有奖励。王五只有出勤达标——也有奖励。两个都不行——无奖励。
AND是严格老爸,全部满足才放行;OR是宽松老妈……不对,这个比喻有点扯。反正AND是"缺一不可",OR是"有一个就行",记住这个区别就够了。
什么时候用OR?我碰到最多的就是报销场景——发票金额≥500或者是差旅类目,就得走审批。还有考勤那块,迟到不超过3次或者有正当请假记录的,全勤奖照发。这种"满足一个即可"的情况,用OR最对路。
对了,OR也能放多个条件,跟AND一样用逗号隔开就行。三个条件满足一个就通过,写OR(A条件,B条件,C条件)。不过说实话,我实际用到三条件OR的情况不多,大部分两个就够了。

最后说一句
IF+AND,全满足才成立;IF+OR,满足一个就行。条件之间用逗号隔开,AND/OR放IF括号里面,条件多了别嵌套——用AND或OR,公式短一半,逻辑清楚十倍。就这些,下期讲SUMIFS加COUNTIFS,多条件汇总和计数,做报表必用,关注我别错过。
如果觉得有用,别忘了点赞、收藏、转发给同事朋友哦!👇关注我,分享更多职场效率技巧!
结合经典管理理论与职场实践
夜雨聆风