Excel 中的 `IF` 函数是最核心的逻辑函数其中一个,用于根据条件判断返回不同的结局。它的基本逻辑是:如果某个条件成立,则执行操作A;否则(条件不成立),则执行操作B。
基本语法
excel
=IF(logical_test, [value_if_true], [value_if_false])
`logical_test` (必需): 要测试的条件(结局为 `TRUE` 或 `FALSE`)。
例如:`A1 > 10`, `B2 = “完成”`, `C3 =60, E5= 60, “及格”, “不及格”)
解释: 如果 B2 单元格的值大于等于 60,则显示 “及格”;否则显示 “不及格”。
示例 2:使用计算结局 (计算销售提成)
excel
=IF(C2 > 10000, C2 0.1, 0)
解释: 如果 C2 单元格(销售额)大于 10000,则提成为销售额的 10%(`C2 0.1`);否则提成为 0。
示例 3:嵌套 IF (成绩等级评定)
excel
=IF(B2 >= 90, “杰出”, IF(B2 >= 80, “良好”, IF(B2 >= 60, “及格”, “不及格”)))
解释:
如果 B2 >= 90,返回 “杰出”。
否则,如果 B2 >= 80,返回 “良好”。
否则,如果 B2 >= 60,返回 “及格”。
否则(以上条件都不满足),返回 “不及格”。
注意: 条件的顺序很重要!必须从最严格的条件(90)开始判断,逐步放宽(80, 60)。如果先判断 `>=60`,那么 `>=80` 和 `>=90` 的判断就永远不会执行了(由于 `>=90` 的数肯定也 `>=60`)。
示例 4:结合 AND/OR (多条件判断)
excel
=IF(AND(B2 >= 60, C2 >= 60), “通过”, “不通过”)
解释: 仅当 B2 和 C2 都大于等于 60 时,才显示 “通过”;否则显示 “不通过”。
excel
=IF(OR(D2 = “北京”, D2 = “上海”, D2 = “广州”, D2 = “深圳”), “一线城市”, “其他城市”)
解释: 如果 D2 是 “北京” 或 “上海” 或 “广州” 或 “深圳”,则显示 “一线城市”;否则显示 “其他城市”。
示例 5:处理空值或特定文本
excel
=IF(A1 = “”, “未填写”, A1)
解释: 如果 A1 单元格是空的(`””` 代表空文本),则显示 “未填写”;否则显示 A1 单元格本身的内容。
注意事项
1. 文本必须加引号: `value_if_true` 或 `value_if_false` 是文本时(如 “及格”、”杰出”),必须用英文双引号 `””` 括起来。数字和单元格引用不需要引号。
2. 区分大致写: 默认情况下,`IF` 函数中的文本比较是不区分大致写的(例如 `”Apple”` 和 `”apple”` 比较结局是 `TRUE`)。如需区分大致写,需结合 `EXACT` 函数:`=IF(EXACT(A1, “Apple”), …)`。
3. 嵌套限制与复杂度: 嵌套过多会使公式难以领会和调试。如果条件超过 3-4 层,强烈考虑使用 `IFS` 或其他替代函数。
4. 省略 `value_if_false`: 如果省略第三个参数且条件为 `FALSE`,函数将返回 `FALSE`。通常这不是期望的结局,建议总是明确指定第三个参数(如果需要显示为空,可以用 `””`)。
5. 逻辑值处理: `logical_test` 本身必须能计算出 `TRUE` 或 `FALSE`。如果引用的单元格包含文本或错误值,可能会导致逻辑错误或 `VALUE!` 错误。
6. `IFS` 函数 (Excel 2016+): 对于多条件判断,`IFS` 函数更简洁:
excel
=IFS(条件1, 结局1, 条件2, 结局2, 条件3, 结局3, …, TRUE, 默认结局)
按顺序检查条件,返回第一个为 `TRUE` 的条件对应的结局。
最终的 `TRUE, 默认结局` 用于处理所有条件都不满足的情况。
拓展资料
`IF` 函数是 Excel 中进行条件逻辑判断的基石。掌握其基本语法(条件,成立返回啥,不成立返回啥)、嵌套技巧以及怎样与 `AND`/`OR` 结合使用,就能解决职业中绝大部分需要根据不同情况进行不同处理的需求。对于更复杂或层级非常多的条件判断,记得探索 `IFS`、`SWITCH`、`LOOKUP` 等替代方案,让公式更简洁清晰。