你有没有写过这样的公式:IF(OR(AND(A2>18,B2="销售部"),C2>10000), "达标", "待观察")?光是数括号就头晕,改一个条件得来回检查三遍——我上个月帮财务部同事修表,光这个公式就卡了她两天,最后发现是第四个右括号多打了半角空格……

其实Excel早就在你眼皮底下埋了一条捷径:它把TRUE当1,FALSE当0。这个设定不是彩蛋,是出厂设置。你每次输入A2>=90,Excel脑子里已经算好了——成立就是1,不成立就是0。那干嘛非得裹上AND()、OR()这层厚棉袄?直接用*和+,就像切菜时不用削皮刀改用削皮器——动作小了,效率翻倍。

比如判定“销售部且业绩破万”,传统写法要嵌两层括号:AND(B2="销售部",C2>10000)。换成*呢?(B2="销售部")*(C2>10000)。看着像乘法,实际是逻辑“且”——两个都对才出1,一个错就归零。我试过拿2019版Excel跑10万行数据,同样条件,*写法比AND快1.7秒,别小看这眨眼功夫,月底结账时你多省三次咖啡时间。

再比如“业绩超10000或部门是技术部”,OR()里塞俩条件,一不小心漏个括号就报错。改成(C2>10000)+(B2="技术部"),加号一拉,谁对算谁——哪怕两个都对,结果是2,Excel照样认作TRUE。上次给HR做员工评优表,原来公式动不动报VALUE!,改用加号后,连实习生都能自己调参了。
最妙的是混搭场景。像“销售部业绩破万,或者技术部所有人”,传统写法得OR(AND(...), ...),括号堆成山。用符号写,就一行:(B2="销售部")*(C2>10000)+(B2="技术部")。重点是手动加括号——(B2="销售部")必须包严实,不然Excel先算B2="销售部"*C2,那就真成“销售部乘业绩”了……我第一次栽在这儿,C2是文本“10000”,结果算出一堆VALUE!,对着屏幕叹气半小时。
计数求和也能“脱壳”。统计销售部30岁以上人数,COUNTIFS是正统军,但遇到“销售部且年龄>30且入职满2年且职级≥P5”这种四连条件,COUNTIFS参数栏挤得像早高峰地铁。换成=SUM((B2:B100="销售部")*(A2:A100>30)*(D2:D100>=2)*(E2:E100>=5)),逻辑清清楚楚,改条件只动对应括号里的内容。不过得提醒一句:数据量真上万,COUNTIFS还是更稳;日常几百行,用*写起来,手指头都轻松些。
对了,有个坑得踩过才信:千万别直接写(A2>90)+C2——C2是数字,A2>90是TRUE/FALSE,Excel会把TRUE当1硬加,结果全乱套。真需要数值输出,得套个N()函数兜底,比如N(A2>90)。上次带新人调表,他漏了这个N,整张工资表奖金列全飘红……
嘉哥在Excel里摸爬十年,见过太多人被括号绕晕。其实哪有什么玄学,就是Excel在安静等你发现:它早把逻辑拆成了最简单的算术。