**IF函数完全教程:从零基础到实战,一篇搞懂Excel条件判断**
IF函数完全教程:从零基础到实战,一篇搞懂Excel条件判断
一、你还在一个个手动判断吗?
刚入职场的小伙伴,是不是经常遇到这样的场景:
-
领导给你一份500人的成绩表,让你标出及格和不及格的人
-
销售业绩表几百行,要按金额划分达标/未达标
-
工资表要根据不同区间算个税,一个个改改到眼瞎
如果你还在用眼睛看、手动填,那今天这篇文章一定要认真看完。IF函数------Excel 效率工具里最常用的条件判断函数,学会它,刚才说的这些事儿,10秒钟搞定。
本文将从最基础的语法讲起,带你一步步掌握:单条件判断 → 多层嵌套 → AND/OR组合 → IFS函数 → 三个真实职场案例。小白也能看懂,跟着操作就行!
二、IF函数基础语法:三个参数就够了
IF函数的作用就是:根据一个条件是否成立,返回不同的值。就像我们平时说的「如果......就......否则......」。
语法公式:
=IF(条件, 满足条件时返回的值, 不满足条件时返回的值)
就这么简单!三个参数,用逗号隔开。我们来逐个拆解:
{width="6.041666666666667in"
height="3.3958333333333335in"}
参数1:条件(必填)
你要判断的条件,通常是一个比较表达式。比如:B2>=60(B2单元格的值大于等于60)、A2=\"男\"(A2等于男这个字)。
常用的比较运算符有以下6个:
运算符 含义 示例 > 大于 B2>60 ------ B2的值大于60 >= 大于等于 B2>=60 ------ B2的值大于等于60 \< 小于 B2\<60 ------ B2的值小于60 \<= 小于等于 B2\<=60 ------ B2的值小于等于60 = 等于 A2=\"男\" ------ A2等于男 \<> 不等于 A2\<>\"男\" ------ A2不等于男
参数2:满足条件时返回的值(必填)
当条件成立(结果为TRUE)时,单元格显示什么。可以是文字、数字,也可以是另一个公式。
注意:如果返回的是文字,必须用英文双引号括起来,比如「及格」「达标」这样的文字。
参数3:不满足条件时返回的值(可选)
当条件不成立(结果为FALSE)时,单元格显示什么。如果省略不写,默认返回FALSE。
💡 小提示:三个参数中,前两个是必填的,第三个可以不写。但建议养成写全的好习惯,避免意外。
三、单条件判断:两个入门案例
理论看完了,我们直接上手练两个最常用的场景。
案例1:成绩及格/不及格判断
假设你有一张成绩表,A列是姓名,B列是分数,要在C列判断是否及格(>=60分及格)。
操作步骤:
-
第1步:点击C2单元格
-
第2步:输入公式 =IF(B2>=60,\"及格\",\"不及格\")
-
第3步:按回车,然后双击C2单元格右下角的小方块(填充柄),一键应用到整列
=IF(B2>=60,\"及格\",\"不及格\")
就这么简单!500行数据,2秒钟搞定。
案例2:销售额达标/未达标
再来看一个职场更常见的场景:销售业绩表,B列是销售额,达标线是10000元,要在C列标注达标状态。
=IF(B2>=10000,\"达标\",\"未达标\")
把公式填到C2,往下一拉,全部搞定。还可以继续延伸:如果达标了显示具体奖金金额,没达标显示0------
=IF(B2>=10000, B2*0.05, 0)
意思是:销售额达到1万,给5%的提成;没达到,提成为0。IF函数的返回值可以是另一个计算,非常灵活。
四、多层嵌套IF:不止两种结果怎么办?
刚才的例子只有两种结果(及格/不及格、达标/未达标)。但现实中,我们经常需要多种结果的判断,比如成绩分优秀、良好、及格、不及格四个等级。这时候就需要用IF嵌套。
{width="6.041666666666667in"
height="3.3958333333333335in"}
什么是IF嵌套?
简单说,就是在IF的第三个参数(不满足条件时的值)里面再写一个IF。第一个IF判断不成立,就进入第二个IF继续判断,像剥洋葱一样一层一层来。
成绩等级案例:90分以上优秀,80-89良好,60-79及格,60以下不及格
=IF(B2>=90,\"优秀\",IF(B2>=80,\"良好\",IF(B2>=60,\"及格\",\"不及格\")))
嵌套逻辑拆解:
-
第一层:分数>=90吗?是 → 返回优秀;不是 → 进入下一层
-
第二层:分数>=80吗?是 → 返回良好;不是 → 进入下一层
-
第三层:分数>=60吗?是 → 返回及格;不是 → 返回不及格
写嵌套IF的技巧:
-
从大到小/从小到大,按一个方向写,不要跳着来
-
有几种结果,就嵌套几层(N种结果 = N-1层IF)
-
注意括号数量:每个IF对应一个右括号,最后一起补上
-
写完可以数一下左括号和右括号数量是否一致
五、IF + AND/OR:多条件同时判断
有时候,一个条件不够用。比如发奖金,既要销售额达标,又要考勤全勤;比如晋升,要么业绩特别好,要么考核特别优秀。这时候就需要AND和OR函数来帮忙。
{width="6.041666666666667in"
height="3.3958333333333335in"}
AND函数:所有条件都满足才算
AND(条件1, 条件2, 条件3...) ------ 所有条件都成立,才返回TRUE;只要有一个不成立,就返回FALSE。
案例:同时满足销售额>=1万 AND 考勤=全勤,才发500元奖金
=IF(AND(B2>=10000, C2=\"全勤\"), 500, 200)
解释:B2是销售额,C2是考勤。两个条件都满足,给500奖金;否则只给200全勤奖。
AND函数里可以放多个条件,最多支持255个,用逗号隔开就行。
OR函数:满足任意一个条件就行
OR(条件1, 条件2, 条件3...) ------ 只要有一个条件成立,就返回TRUE;全部不成立才返回FALSE。
案例:销售额>=1.5万 OR 考核=优秀,满足一个就可以晋升
=IF(OR(B2>=15000, C2=\"优秀\"), \"考虑晋升\", \"继续观察\")
解释:B2是销售额,C2是考核等级。只要有一个条件满足,就标记为考虑晋升。
AND + OR 组合使用
更复杂的场景,可以把AND和OR组合起来。比如:
=IF(AND(OR(B2>=10000, C2=\"优秀\"), D2=\"正式员工\"), \"有资格\", \"无资格\")
解读:(销售额达标 或者 考核优秀) 并且 是正式员工 → 有资格参加评选。
括号很重要!用括号把OR的部分括起来,确保逻辑顺序正确。
六、IFS函数:嵌套IF的简化版
如果你用的是Excel 2019或365版本,那恭喜你,有一个更简单的函数可以替代多层嵌套IF------它就是IFS。
IFS语法
=IFS(条件1,结果1, 条件2,结果2, 条件3,结果3, ...)
IFS按顺序检查每个条件,遇到第一个成立的条件,就返回对应的结果。后面的条件不再检查。
还是用成绩等级的例子,对比一下写法:
嵌套IF写法(3层嵌套):
=IF(B2>=90,\"优秀\",IF(B2>=80,\"良好\",IF(B2>=60,\"及格\",\"不及格\")))
IFS写法(扁平化):
=IFS(B2>=90,\"优秀\", B2>=80,\"良好\", B2>=60,\"及格\", TRUE,\"不及格\")
IFS的优点:
-
扁平化写法,不需要层层嵌套,阅读和修改都更方便
-
不容易数错括号,新手更友好
-
条件可以写127对,数量上限更高
注意事项:
-
最后一个条件用TRUE来兜底,相当于其他所有情况
-
条件顺序很重要,要从高到低或从低到高按顺序排列
-
如果所有条件都不满足且没有写TRUE兜底,会返回#N/A错误
七、三大实战案例:学完马上能用
理论讲完了,我们来做三个职场最常用的实战案例,看完直接套用到你的工作里。
实战1:销售业绩评级(5个等级)
假设公司销售评级标准如下:
销售额 等级 提成比例 5万以上 S级 10% 3万-5万 A级 8% 1.5万-3万 B级 5% 8千-1.5万 C级 3% 8千以下 D级 0%
IFS公式(推荐):
=IFS(B2>=50000,\"S级\", B2>=30000,\"A级\", B2>=15000,\"B级\", B2>=8000,\"C级\", TRUE,\"D级\")
提成计算(直接在IFS里算金额):
=IFS(B2>=50000, B2*0.1, B2>=30000, B2*0.08, B2>=15000, B2*0.05, B2>=8000, B2*0.03, TRUE, 0)
这样,每笔销售的提成直接就算出来了,不需要人工核对。
实战2:工资个税区间计算
工资个税是阶梯税率,特别适合用IF函数来算。假设个税起征点5000,税率表如下(简化版):
应纳税所得额 税率 速算扣除数 不超过3000元 3% 0 3000-12000元 10% 210 12000-25000元 20% 1410 25000-35000元 25% 2660
B2是税前工资,应纳税所得额 = 工资 - 5000(起征点)。个税公式:
=IFS(B2-5000\<=0, 0, B2-5000\<=3000, (B2-5000)*0.03, B2-5000\<=12000, (B2-5000)*0.1-210, B2-5000\<=25000, (B2-5000)*0.2-1410, TRUE, (B2-5000)*0.25-2660)
💡 进阶技巧:可以把应纳税所得额单独放在一列(比如C列 =B2-5000),公式会更简洁:
=IFS(C2\<=0, 0, C2\<=3000, C2*0.03, C2\<=12000, C2*0.1-210, C2\<=25000, C2*0.2-1410, TRUE, C2*0.25-2660)
实战3:考勤状态综合判断
考勤表中,需要根据迟到次数、请假天数、加班时长来判断考勤状态。规则:
-
迟到=0次 且 请假=0天 → 全勤
-
迟到\<=2次 且 请假\<=1天 → 正常
-
迟到>5次 或 请假>3天 → 警告
-
其他 → 一般
公式:
=IFS(AND(B2=0, C2=0), \"全勤\", AND(B2\<=2, C2\<=1), \"正常\", OR(B2>5, C2>3), \"警告\", TRUE, \"一般\")
解释:先判断最严格的全勤条件,再判断正常条件,然后判断警告条件(用OR,满足一个就触发),剩下的都归为一般。
写这类多条件判断,核心思路是:把最严格、优先级最高的条件放前面,依次往下排,最后用TRUE兜底。
八、常见错误与避坑指南
新手用IF函数,最容易踩这几个坑。对照检查一下,你的公式是不是也有这些问题?
坑1:引号用了中文的
公式里的文字必须用【英文双引号】,不能用中文引号。很多人输入法没切换,写出来的引号是中文的,Excel不认,就会报错。
✅ 正确:=IF(B2>=60,\"及格\",\"不及格\") (引号是英文的)
❌ 错误:引号用中文的「」或『』来写,Excel识别不了
坑2:括号不配对
每个IF有一个左括号,就要对应一个右括号。嵌套层数多了很容易数错。
小技巧:写完公式后,把光标放到最后一个右括号后面,按回车,Excel会自动检查。如果括号不配对,直接报错。
坑3:数字加了引号
数字就是数字,不要加引号。加了引号,Excel会把它当成文本处理,后续做计算可能出问题。
✅ 正确:=IF(B2>=10000, 500, 200)
❌ 错误:=IF(B2>=10000, \"500\", \"200\") (数字被当文本了)
坑4:条件顺序写反了
嵌套IF和IFS都是从第一个条件开始检查,遇到成立的就返回。如果你把条件顺序搞反了,结果就会错。
比如成绩等级,应该从高分往低分数(90→80→60),不能倒着来。如果先判断>=60,那90分的也会被归为及格。
坑5:单元格引用没锁死
如果你在公式里引用了一个固定的判断标准(比如达标线在D1单元格),往下拖动填充时,D1会变成D2、D3......这就错了。
解决方法:用\$符号锁定行和列,写成 \$D\$1。
=IF(B2>=\$D\$1, \"达标\", \"未达标\")
坑6:IF嵌套超过上限
传统IF函数最多只能嵌套64层。虽然一般用不到这么多,但如果条件特别多,建议换成IFS函数(支持127个条件对)或者用办公效率工具做模糊匹配。
九、总结:IF函数学习路径
最后,我们来做一个总结,帮你把今天的内容串起来:
1. 基础单条件 → 入门必掌握
IF(条件, 是, 否),三个参数两种结果。这是一切的基础,必须非常熟练。
2. 嵌套IF → 处理多种结果
一层一层往里套,按顺序判断。注意方向一致(从大到小或从小到大),括号配对。
3. AND/OR组合 → 多条件判断
AND是并且,所有条件都要满足;OR是或者,满足一个就行。可以互相嵌套组合。
4. IFS函数 → 简化多条件
Excel 2019/365用户优先用IFS,扁平化写法更清晰。老版本乖乖用嵌套IF。
5. 实战应用 → 多练多总结
找你工作中真实的表格来练手:销售数据、人事考勤、财务报表......IF函数无处不在。
💡 今日金句:判断的事情交给IF,你的时间留给更重要的事。
关注「效率小本本」,每天一个小技巧,少加班早下班。下期我们讲VLOOKUP函数,记得来看哦\~
--- END ---
作者:沈未迟
来源说明:本文首发于微信公众号「效率小本本」,经整理优化后发布于 DevToolHub。