IF 与逻辑函数嵌套
如果说 SUM 是算术,IF 就是判断:它让表格学会看条件办事。成绩大于等于 60 显示及格、否则显示补考——这种事以前要肉眼一个个看,现在一个公式全搞定。这篇讲 IF 的三要素、嵌套分级和两个逻辑函数搭档。
IF 的三要素
IF 的固定句式是 =IF(条件,满足时给什么,不满足时给什么),三个参数按顺序写,逗号隔开。
最简单的例子,判定成绩是否及格:=IF(B2>=60,“及格”,“补考”)。翻译一下:B2 大于等于 60 这个条件成立,单元格显示及格;不成立,显示补考。往下双击填充柄,全班判定十秒完成。
| 条件写法 | 含义 | 示例 |
|---|---|---|
| B2>=60 | 大于等于 | 及格线 |
| B2>60 | 大于 | 严格及格 |
| B2<>60 | 不等于 | 排除特定值 |
| B2=“三班” | 等于文字 | 判断班级 |
| B2>=90 | 组合多个 | 分级用 |
注意两点:判断相等的等号是一个等号不是两个;条件里的文字要用中文引号包起来。比较符号输入法直接打:大于号、小于号、大于等于号 >=、小于等于号 <=、不等于号 <>。
返回值也可以是数字或公式而不只是文字:=IF(C2>=90,200,0) 表示达标发 200 元奖金,不达标 0。甚至可以再套一层计算。
嵌套:把成绩分成四级
单一 IF 只会二选一,真实场景往往分好几档。四级判定公式:
=IF(B2>=90,“优秀”,IF(B2>=80,“良好”,IF(B2>=60,“及格”,“补考”)))
读法是从外往里:先问大于等于 90 吗,是就给优秀,不是再问 80,是就良好,不是再问 60,是就及格,都不是补考。括号的层数 = 分档数减一,所以写完务必数括号,编辑栏会帮你高亮配对。
| 分数段 | 显示 | 判断顺序 |
|---|---|---|
| 90 以上 | 优秀 | 第一层 |
| 80 到 89 | 良好 | 第二层 |
| 60 到 79 | 及格 | 第三层 |
| 60 以下 | 补考 | 兜底 |
档别尽量从高到低写,逻辑最清晰。新手常犯的错是从小到大写:先问 B2>=60,那 95 分也在第一层就被拦下,全显示及格。
AND 和 OR:条件打包判断
一个 IF 只能问一个问题,但现实经常是组合条件:>80 并且ƽ>60,或者“北京 或者 上海”。这时候请 AND(并且)和 OR(或者)出场,写在 IF 的第一个参数里。
- 并且:=IF(AND(C2>80,D2>60),“达标”,“不达标”),两个都成立才达标。
- 或者:=IF(OR(B2=“北京”,B2=“上海”),“一线城市”,“其他”),满足其一即可。
AND 和 OR 本身就是函数,括号里可以放最多 255 个条件,用逗号分开。它们的返回值只有 TRUE 或 FALSE,所以几乎总是包在 IF 里用。
用错的地方也常见:把 AND 写成 Aand、漏写参数中间的逗号、把两个条件直接堆在一起不加函数名。看到 #NAME? 或 #VALUE! 先检查这三处。
IFERROR:公式界的兜底
VLOOKUP 找不到人、除法分母是 0,公式会直接把 #N/A、#DIV/0! 这种错误码甩在表里,难看且影响下游计算。IFERROR 专门用来兜底:=IFERROR(原公式,出错时显示什么)。
实际写法:=IFERROR(A2/B2,“无数据”)。B2 为空时除法出错,单元格显示无数据而不是错误码;算得出结果就正常显示结果。报表里先套一层 IFERROR 再交出去,是成熟表格的基本操作。
真实案例:销售提成计算
销售表里 A 列姓名、B 列销售额、C 列地区。提成规则:销售额大于 50000 且地区为华东,提成 8 个点;其他情况一律 3 个点。公式:=IF(AND(B2>50000,C2=“华东”),B20.08,B20.03)。
写完选中往下双击填充柄,全公司提成一秒算完。改规则时只改公式里那两个数,比手工重算靠谱一万倍。想再分档就继续嵌套:提成超过 3000 的再乘税、低于 800 的补底薪,层层套就是。
多 IF 嵌套的替代方案
嵌套超过三层,可读性就直线下降,括号多到自己都数不清。两个替代思路:一是把分档标准单独写在旁边的辅助区域,用 VLOOKUP 的近似匹配直接查档(下一篇就讲);二是较新版本 Excel 里的 IFS 函数,写法是 =IFS(条件1,结果1,条件2,结果2,...),不用套括号,一路平铺。判四级成绩写成 IFS(B2>=90,“优秀”,B2>=80,“良好”,B2>=60,“及格”,TRUE,“补考”),最后的 TRUE 表示前面都不成立时的兜底。旧版本文件发给同事可能不兼容,用时先确认对方版本。
写 IF 的三个检查点
写完一个 IF 公式按这个清单自查:
- 括号成对:外层 IF 左括号有几个,结尾就该有几个右括号。
- 参数顺序:先是条件,再是成立时的值,最后是不成立的值,顺序不能颠倒。
- 引号成对:文字参数首尾都要包住,写一个忘一个是常见翻车点。
调试有绝招:公式输入到一半按 Ctrl+A 打开函数参数对话框,每一格参数旁边都会显示当前计算结果,哪一步对不对一目了然,比盯着一串字符找错快得多。
小结
IF 的本质是让表格学会做决定:小条件单层写,多档条件层层嵌套,组合条件拉 AND 和 OR 帮忙,最后用 IFERROR 兜住意外。写下你的第一个判定公式,就从手边这张表开始。
TRUE 和 FALSE 是什么
Excel 里 TRUE 就是成立、FALSE 就是不成立,它们是逻辑函数的返回值,也能直接当公式输入。=IF(B2>=60,TRUE,FALSE) 返回逻辑值;更省事的写法是直接 =B2>=60,单元格自动显示 TRUE 或 FALSE。判断结果往往再配合条件格式自动标色,比如 TRUE 的行底色变绿。
逻辑运算也能偷懒
AND 和 OR 之外还有个 NOT(取反):=NOT(B2>=60) 等同于 B2<60。取反看起来绕,但有些条件反过来描述更短的时候它能救场。三个逻辑函数都能互相嵌套,难点不在函数,而在你有没有把业务条件用自然语言先说清楚——写公式之前先用嘴说一遍规则,写出来就不会乱。
