在Excel中,数据往往不是一成不变的,公式也难免遇到错误值。如何根据条件做出判断?如何让公式在出错时显示友好的提示而非刺眼的 #N/A 或 #DIV/0!?这就需要用到IF家族的三位成员:IF、IFERROR、IFNA。
IF:逻辑判断的核心,根据条件返回不同的结果。
IFERROR:错误“捕手”,捕获所有类型的错误并替换为指定内容。
IFNA:专抓 #N/A 错误的“狙击手”,只处理查找不到的情况。
掌握它们,你的Excel公式将变得更加智能、健壮。
功能:判断一个条件是否成立,如果成立返回一个值,否则返回另一个值。
参数详解:
逻辑测试:任何可以返回TRUE或FALSE的表达式(例如 A1>60、B2="及格"、AND(C1>0,C1<100))。
值如果为真:当逻辑测试结果为TRUE时返回的内容(可以是数字、文本、公式或单元格引用)。
值如果为假:可选参数,当逻辑测试结果为FALSE时返回的内容。如果省略,则返回FALSE。
场景1:根据成绩判断是否及格。
=IF(A2>=60, "及格", "不及格") | |
=IF(A3>=60, "及格", "不及格") |
场景2:根据销售额计算奖金(销售额>=10000奖励500,否则0)。
=IF(B2>=10000, 500, 0)
当有多个分支时,可以在“值如果为假”中再嵌套一个IF函数,实现多级判断。
场景:根据分数评定等级:90以上为A,80-89为B,60-79为C,60以下为D。
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=60, "C", "D")))
注意事项:嵌套层级过多会使公式难以阅读和维护。Excel支持最多64层嵌套,但建议超过3层时考虑使用 IFS 函数(Excel 2019+)或 VLOOKUP 近似匹配。
AND:所有条件都成立才返回TRUE
OR:任一条件成立就返回TRUE
场景1:员工同时满足“销售额>10000”且“出勤率>90%”才能获得优秀员工.
=IF(AND(B2>10000, C2>0.9), "优秀员工", "继续努力")
场景2:只要满足“销售额>10000”或“出勤率>95%”之一就给予奖励。
=IF(OR(B2>10000, C2>0.95), "有奖励", "无奖励")
IF(A1>0, "正数", "非正数") | ||