Excel IF 函数终极实例教程
什么是 IF 函数?它有什么用?
想象一下,你是一个老师,要根据学生的分数来评定等级:
- 如果分数 大于等于 90,优秀”。
- 否则,良好”。
这个“..否则...”的逻辑,IF 函数的核心作用。
IF 函数 是 Excel 中最常用、最强大的逻辑函数之一,它可以根据你设定的条件,返回两个不同的结果之一。
IF 函数的基本语法
要使用 IF 函数,你必须先理解它的“语法结构”,也就是函数的书写规则。
=IF(条件判断, [如果条件为真则返回此值], [如果条件为假则返回此值])
我们来分解一下这个语法:
- : 所有公式的开头,告诉 Excel “我要开始计算了”。
IF(): 函数的名称。条件判断: 这是核心,你需要写一个能判断 真 或 假 的表达式。A1>60,A1 单元格的值确实大于 60,这个判断就是 真;否则就是 假。[如果条件为真则返回此值]: 当你的“条件判断”结果为 真 时,IF 函数返回什么内容,可以是一个数字、文本、公式,甚至是另一个 IF 函数。[如果条件为假则返回此值]: 当你的“条件判断”结果为 假 时,IF 函数返回什么内容,这一部分是可选的,如果你不写,Excel 默认会返回FALSE。
注意:
- 文本(字符串)需要用双引号 括起来,
"及格"。 - 如果要返回的是单元格的值或计算结果,则不需要引号,
B1或A1*10。
入门实例:IF 函数的基本应用
让我们通过几个简单的例子,快速上手。
实例 1:判断学生是否及格
目标:如果学生分数(在 A2 单元格)大于等于 60,显示“及格”,否则显示“不及格”。
操作步骤:
- 选中一个空白单元格(B2)。
- 输入以下公式:
=IF(A2>=60, "及格", "不及格")
- 按下回车键。
- 将鼠标移动到 B2 单元格的右下角,当光标变成一个黑色的十字(填充柄)时,向下拖动,即可将公式应用到其他学生。
公式解析:
A2>=60:条件判断,检查 A2 单元格的值是否大于或等于 60。"及格":A2>=60这个条件成立(为真),就显示“及格”。"不及格":A2>=60这个条件不成立(为假),就显示“不及格”。
实例 2:根据业绩发放奖金
目标:如果销售额(在 A2 单元格)超过 10000,则发放奖金 500,否则没有奖金(显示 0)。
操作步骤:
- 选中一个空白单元格(B2)。
- 输入以下公式:
=IF(A2>10000, 500, 0)
- 按下回车键并向下填充。
公式解析:
A2>10000:条件判断。500:如果条件为真,返回数字 500。0:如果条件为假,返回数字 0。
进阶实例:嵌套 IF 函数与多条件判断
现实世界中,情况往往不止两种,比如成绩评定,有优秀、良好、及格、不及格多个等级,这时,我们就需要用到 嵌套 IF,即在 IF 函数的 真值 或 假值 参数中,再嵌套一个 IF 函数。
实例 3:多级成绩评定
目标:
- 分数 >= 90,显示“优秀”
- 80 <= 分数 < 90,显示“良好”
- 60 <= 分数 < 80,显示“及格”
- 分数 < 60,显示“不及格”
操作步骤:
- 选中一个空白单元格(B2)。
- 输入以下公式:
=IF(A2>=90, "优秀", IF(A2>=80, "良好", IF(A2>=60, "及格", "不及格")))
- 按下回车键并向下填充。
公式解析(从外到内):
- 最外层 IF:
=IF(A2>=90, "优秀", ...)- 首先判断
A2>=90是否成立。 - 成立,直接返回
"优秀",结束判断。 - 不成立,则执行第二个 IF 函数。
- 首先判断
- 第二层 IF:
IF(A2>=80, "良好", ...)- 判断
A2>=80是否成立。(注意:因为第一个条件已经失败了,所以这里的分数肯定小于 90) - 成立,返回
"良好",结束判断。 - 不成立,则执行第三个 IF 函数。
- 判断
- 第三层 IF:
IF(A2>=60, "及格", ...)- 判断
A2>=60是否成立。(分数肯定小于 80) - 成立,返回
"及格",结束判断。 - 不成立,返回最后一个默认值
"不及格"。
- 判断
嵌套 IF 的核心思想:层层递进,一旦满足某个条件,就返回结果并停止后续判断。
高级实例:IF 函数与其他函数的强大组合
IF 函数的真正威力在于它能与其他函数结合,解决复杂问题。
实例 4:IF + AND(与逻辑)
目标:只有当 “销售额” 和 “满意度” 两个条件同时满足时,才评定为“双优”。
假设销售额在 A2,满意度在 B2。
操作步骤:
- 选中一个空白单元格(C2)。
- 输入以下公式:
=IF(AND(A2>10000, B2>95), "双优", "未达标")
- 按下回车键并向下填充。
公式解析:
AND(A2>10000, B2>95):AND函数用于判断多个条件是否 全部为真。- 只有当
A2>10000并且B2>95时,AND函数才返回TRUE。 - 如果其中任何一个条件不满足,
AND函数就返回FALSE。
- 只有当
"双优":当AND函数返回TRUE时,显示“双优”。"未达标":当AND函数返回FALSE时,显示“未达标”。
实例 5:IF + OR(或逻辑)
目标:只要满足 “销售额” 或 “新客户数” 其中任意一个条件,就评定为“表现突出”。
假设销售额在 A2,新客户数在 B2。
操作步骤:
- 选中一个空白单元格(C2)。
- 输入以下公式:
=IF(OR(A2>10000, B2>5), "表现突出", "待提升")
- 按下回车键并向下填充。
公式解析:
OR(A2>10000, B2>5):OR函数用于判断多个条件中 是否至少有一个为真。- 只要
A2>10000或者B2>5有一个成立,OR函数就返回TRUE。 - 只有当所有条件都不满足时,
OR函数才返回FALSE。
- 只要
"表现突出":当OR函数返回TRUE时,显示“表现突出”。"待提升":当OR函数返回FALSE时,显示“待提升”。
实例 6:IF + VLOOKUP(条件查找)
目标:根据员工姓名(在 A2),查找其所属部门,员工列表在另一个工作表(Sheet2)的 A 列(姓名)和B 列(部门)。
操作步骤:
- 选中一个空白单元格(B2)。
- 输入以下公式:
=IF(ISNUMBER(VLOOKUP(A2, Sheet2!A:B, 2, FALSE)), VLOOKUP(A2, Sheet2!A:B, 2, FALSE), "未找到")
- 按下回车键并向下填充。
公式解析:
ISNUMBER(VLOOKUP(...)):这是一个非常实用的技巧。VLOOKUP函数如果找不到,会返回错误值#N/A。ISNUMBER函数可以判断一个值是不是数字。VLOOKUP找到了姓名,它会返回一个部门名称(文本),ISNUMBER判断为FALSE。VLOOKUP找不到姓名,它会返回#N/A(错误值),ISNUMBER判断为FALSE,这显然不对,我们需要一个更好的方法。
- 修正版(更推荐使用
IFERROR函数):=IFERROR(VLOOKUP(A2, Sheet2!A:B, 2, FALSE), "未找到")
IFERROR函数是专门为处理公式错误而设计的,它会先尝试执行VLOOKUP,如果结果不是错误,就返回结果;如果结果是错误(如#N/A,#VALUE!等),就返回你指定的值(这里是"未找到"),这个写法更简洁、更高效!
实用技巧与常见问题
技巧 1:使用 IF 进行数值计算
IF 函数的返回值不仅可以是文本,也可以是计算结果。
目标:如果销量超过 100,则按 95 折计算;否则不打折。
=IF(A2>100, A2*0.95, A2)
技巧 2:IF 函数不区分大小写
IF 函数默认是区分大小写的。IF(A1="apple", ...) 和 IF(A1="Apple", ...) 是不同的,如果你需要不区分大小写的判断,可以使用 UPPER 或 LOWER 函数转换。
目标:判断 A1 单元格内容是否为 "apple"(不区分大小写)。
=IF(UPPER(A1)="APPLE", "匹配", "不匹配")
技巧 3:IF 函数的嵌套层数限制
在较新的 Excel 版本中,IF 函数最多可以嵌套 64 层,但嵌套层数太多会让公式变得极其复杂、难以阅读和维护,在这种情况下,建议使用 IFS 函数(Excel 2025, Microsoft 365 及更高版本)或 SWITCH 函数。
用 IFS 函数重写实例 3:
=IFS(A2>=90, "优秀", A2>=80, "良好", A2>=60, "及格", TRUE, "不及格")
IFS 函数会依次判断每个条件,一旦某个条件为真,就返回对应的值,非常清晰。
常见问题:公式返回 TRUE 或 FALSE 而不是我指定的文本
原因:你很可能只写了条件判断部分,忘记写 真值 和 假值 了。
错误示例:
=IF(A2>=60) // 错误!
正确写法:
=IF(A2>=60, "及格", "不及格") // 正确!
IF 函数是 Excel 数据处理的基石,掌握它,你就掌握了 Excel 自动化判断的核心能力。
- 入门:掌握基本语法,处理简单的“是/否”判断。
- 进阶:学会使用 嵌套 IF 处理多级条件。
- 高级:将 IF 与 AND、OR、VLOOKUP、SUMIF 等函数结合,解决复杂的业务逻辑问题。
最后的小建议:不要害怕尝试!在你的工作表中找一些实际的数据,用 IF 函数去解决它们,多练习,你很快就能成为 IF 函数的高手!
