问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Excel IF函数详解:嵌套公式和错误避免技巧

创作时间:
作者:
@小白创作中心

Excel IF函数详解:嵌套公式和错误避免技巧

引用
1
来源
1.
https://support.microsoft.com/zh-cn/article/%E9%AB%98%E7%BA%A7-if-%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E5%B5%8C%E5%A5%97%E5%85%AC%E5%BC%8F%E5%B9%B6%E9%81%BF%E5%85%8D%E7%BC%BA%E9%99%B7-0b22ff44-f149-44ba-aeb5-4ef99da241c8

IF函数是Excel中非常强大且常用的逻辑函数,它允许用户通过测试某个条件并返回True或False的结果,从而对某个值和预期值进行逻辑比较。本文将详细介绍IF函数的使用方法,包括其基本语法、嵌套使用技巧以及如何避免错误。

IF 函数允许通过测试某个条件并返回 True 或 False 的结果,从而对某个值和预期值进行逻辑比较。其基本语法如下:

IF(logical_test, value_if_true, [value_if_false])

例如:

=IF(A2>B2,"超出预算","正常")
=IF(A2=B2,B4-A4,"")

参数说明:

  • logical_test:必需,要测试的条件。
  • value_if_true:必需,logical_test的结果为 TRUE 时,您希望返回的值。
  • value_if_false:可选,logical_test的结果为 FALSE 时,您希望返回的值。

嵌套IF函数

虽然 Excel 允许嵌套最多 64 个不同的 IF 函数,但不建议这样做。原因如下:

  1. 要正确地构建多个 IF 语句需要花大量心思,并要确保其逻辑在直至结尾的每个条件下都能计算正确。如果嵌套公式不是 100% 准确,那么计算过程可能花 75% 的时间,而返回结果可能花 25% 的时间,并且结果并不理想。但是得出这 25% 结果的几率很小。
  2. 多个 IF 语句维护起来非常困难,特别是过一段时间后回头再看,想要了解当时你(其他人的话更糟糕)想要做什么时。

示例:成绩等级转换

以下示例介绍了一个相对标准的嵌套 IF 语句,该语句将学生考试成绩转化为等效字母等级:

=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

这个具体示例比较安全,因为考试成绩和字母等级之间的相关性不可能改变,所以不需要太多维护。但想想 - 如果需要在 A+、A 和 A- 等等之间划分成绩应该怎么办?现在 IF 语句包含 4 个条件,需要将其重写为包含 12 个条件!

=IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-", IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F")))))))))))))

示例:销售佣金计算

下面是一个十分常见的示例 - 根据销售额等级计算销售佣金:

=IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))

虽然该公式与前面的“成绩”示例非常相似,但它很好地说明了维护大型 IF 语句的难度 - 如果组织决定增加新的薪酬等级,甚至改变现有美元或百分比值,那么你需要做些什么?必须手动完成大量工作!

更好的解决方案:VLOOKUP函数

在大多数情况下,可使用 VLOOKUP 函数,而不是使用 IF 函数构建复杂公式。首先需要创建一个引用表:

=VLOOKUP(C2,C5:D17,2,TRUE)

此公式表示在 C5:C17 区域中查找 C2 的值。如果找到值,则从 D 列的同一行返回相应值。

=VLOOKUP(B9,B2:C6,2,TRUE)

类似地,此公式将在 B2:B22 区域中查找单元格 B9 的值。如果找到值,则从 C 列的同一行返回相应值。

注意: 这两个 VLOOKUP 公式在公式末尾使用 TRUE 参数,这表示需要它们查找适当的匹配项。也就是说,它将匹配查找表中的精确值以及范围内的任何值。在这种情况下,查找表需要按升序 排序(从小到大)。

此处详细介绍了 VLOOKUP,但这比 12 级复杂嵌套 IF 语句要简单得多!还有其他一些不太明显的优点:

  • VLOOKUP 引用表是开放的,易于查看。
  • 条件更改后,可轻松更新表值,无需更改公式。
  • 如果不希望他人查看或更改引用表,只需将其置于其他工作表。

IFS函数

目前IFS 函数可使用单个函数替代多个嵌套 IF 语句。因此,对于最初的包含 4 个嵌套 IF 函数的成绩示例:

=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

可使用单个 IFS 函数使其变得更简洁:

=IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")

IFS 函数十分有用,因为无需担心所有这些 IF 语句和括号带来的麻烦。

注意: 仅当具有Microsoft 365 订阅时,此功能才可用。如果使用的是其他版本的Excel,可能无法使用IFS函数。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号