当前时间: 2026-07-03 11:18:46
分类:办公文件
评论(0)
IF函数,让你的Excel学会“独立思考”上一期我们聊了ROW函数,今天再来一个简单又实用的——IF函数。如果说VLOOKUP是Excel的"查找之王",那IF就是Excel的"决策大脑"。它让表格学会了自己做判断:满足条件怎么做,不满足又怎么做。学会了它,你的Excel就不再是死板的表格,而是有判断能力的工具。语法:=IF(条件, 满足时返回什么, 不满足时返回什么)第一个参数是一个判断句,比如B2>=60、A2="销售部"、C2<>""。Excel会判断这句话是"成立"还是"不成立"。如果分数大于等于60,显示"及格";否则显示"不及格"。一句话搞定全班成绩评定。A2是空单元格时显示"未填写",否则显示"已填写"。数据录入检查时非常实用。销售额大于等于100万标注"达标",否则标注"不达标":=IF(A2>=100, "达标", "不达标")现实中很少只分两种情况,更多的是多级分类。比如成绩评级:=IF(A2>=90, "优秀", IF(A2>=80, "良好", IF(A2>=60, "及格", "不及格")))理解方式:从最高分开始逐级往下判断。先看是不是≥90,是就"优秀";不是再看是不是≥80,是就"良好";不是再看是不是≥60,是就"及格";如果哪个都不满足,就是"不及格"。注意顺序:必须从高到低写。如果先从≥60开始,那≥90的分数会被归到"及格"那一档,因为60分以上这个条件包含了90分以上。顺序错了,结果全错。有时候判断一个条件不够,需要同时满足多个条件或者满足任意一个就行。比如评选三好学生,要求语文≥80 且 数学≥80 且 体育≥80:=IF(AND(B2>=80, C2>=80, D2>=80), "入选", "未入选")比如员工可以任选一种方式完成培训,线上课学完或线下课出勤:=IF(OR(B2="已完成", C2="已完成"), "通过", "未通过")两个条件满足任何一个就"通过",两个都不满足才"未通过"。=IF(B2="及格", 通过, 不通过) ❌ 报错正确写法:=IF(B2="及格", "通过", "不通过") ✅=IF(B2>=60, "及格", IF(B2>=80, "良好", IF(B2>=90, "优秀", "不及格")))一个90分的学生会被判定为"及格",因为≥60先成立了,后面的判断根本不会执行。必须从最严格的条件开始写,从高到低,从小到大,或者从大到小,保持逻辑一致。边界值处理要特别注意。比如60分算及格还是不及格,决定了你用>=还是>。差一个等号,结果就差一个档位。如果版本支持(Excel 2019或365),强烈推荐用IFS替代多层IF嵌套。=IFS(B2>=90, "优秀", B2>=80, "良好", B2>=60, "及格", B2<60, "不及格")不用一层一层套括号,条件写一个,结果写一个,清清楚楚,也不容易写错顺序。如果你的Excel支持,尽量用它。今天的小作业:打开你的工资表或成绩表,试着用IF加一个"达标/不达标"的标注列。再试试IFS做多级评级(如果版本支持的话)。这个函数的回报率极高——学会5分钟,省下5年手工判断的时间。
基本
文件
流程
错误
SQL
调试
- 请求信息 : 2026-07-03 17:29:13 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/831254.html
- 运行时间 : 0.114710s [ 吞吐率:8.72req/s ] 内存消耗:4,800.82kb 文件加载:145
- 缓存信息 : 0 reads,0 writes
- 会话信息 : SESSION_ID=2c0ffc7a19ee396775724b0eaa9bcb0d
- CONNECT:[ UseTime:0.000526s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
- SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000838s ]
- SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000272s ]
- SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000300s ]
- SHOW FULL COLUMNS FROM `set` [ RunTime:0.000493s ]
- SELECT * FROM `set` [ RunTime:0.000195s ]
- SHOW FULL COLUMNS FROM `article` [ RunTime:0.000519s ]
- SELECT * FROM `article` WHERE `id` = 831254 LIMIT 1 [ RunTime:0.000437s ]
- UPDATE `article` SET `lasttime` = 1783070953 WHERE `id` = 831254 [ RunTime:0.011611s ]
- SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000472s ]
- SELECT * FROM `article` WHERE `id` < 831254 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000452s ]
- SELECT * FROM `article` WHERE `id` > 831254 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000392s ]
- SELECT * FROM `article` WHERE `id` < 831254 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002097s ]
- SELECT * FROM `article` WHERE `id` < 831254 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001515s ]
- SELECT * FROM `article` WHERE `id` < 831254 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.016407s ]
0.116425s