Excel 表格中 IF 函数的语法以及嵌套用法

今天才知道原来 Excel 也是可以编程的,并且语法还挺有意思。今天一个朋友来问我 Excel 中的 IF 函数该怎么用,说自己折腾了半天搞不定。于是就花了点时间网上搜了下,看了看只有官方的文档写的最为清晰,就在此分享一下吧。整体还是很简单的,看一下应该都能懂。

下面直接摘录微软官方文档,文档地址:IF 函数 – 嵌套公式和避免错误

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

  • =IF(内容为 True,则执行某些操作,否则就执行其他操作)

因此 IF 语句可能有两个结果。第一个结果是比较结果为 True,第二个结果是比较结果为 False。

IF 语句非常强大,其构成了许多电子表格模型的基础,但也是导致许多电子表格问题的根本原因。理想情况下,IF 语句应适用于最小条件(例如 Male/Female 和 Yes/No/Maybe),但是对更复杂情况求值时则需要同时嵌套* 3 个以上的 IF 函数。

*“嵌套”是指在一个公式中连接多个函数的做法。

使用逻辑函数 IF 函数时,如果条件为真,该函数将返回一个值;如果条件为假,函数将返回另一个值。

一、语法

IF(logical_test, value_if_true, [value_if_false])

例如:

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

二、备注

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

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

如果发现 IF 语句似乎在无穷无尽地不断增加,这时候应放下鼠标,重新思考策略。

我们来了解一下如何使用多个 IF 正确创建一个复杂的嵌套 IF 语句,以及何时应使用 Excel 库中的其他工具。

三、示例

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

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

    此复杂嵌套 IF 语句遵循一个简单逻辑:

  1. 如果 Test Score(单元格 D2)大于 89,则学生获得 A
  2. 如果 Test Score 大于 79,则学生获得 B
  3. 如果 Test Score 大于 69,则学生获得 C
  4. 如果 Test Score 大于 59,则学生获得 D
  5. 否则,学生获得 F

此特定示例的安全性相对较安全, 因为测试分数和信函成绩之间的相关性不可能更改, 因此不需要大量维护。但是, 如果你需要在 +、a 和 a 之间划分成绩 (等等), 这会是一种想法—?现在, 如果需要重新编写语句, 则你的四个条件有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”))))))))))))

该公式仍具有准确的功能并按预期工作,但需要花很长时间编写并花更长时间进行测试,才能确保该公式可完成所需操作。另一个明显的问题是必须手动输入分数和等效字母等级。不小心输错字的几率是多少?想象一下,需要使用更复杂的条件 64 次!当然这是可能实现的,但你真的想给自己带来这种麻烦和难以察觉的可能错误吗?

提示: Excel 中的每个函数都需要使用左括号和右括号 ()。编辑时,Excel 会通过对公式的不同部分着色来帮助你定位。例如,如果要编辑上面的公式,将光标移过每个右括号“)”时,它的相应左括号会显示相同颜色。在复杂嵌套公式中检查是否拥有足够的匹配括号时,此方法尤其有用。

四、结语

我相信到这儿大家应该就能理解 IF 函数的嵌套是怎么用的了,官方文档页面还有更多示例,如果还是觉得不懂的可以前往官方文档继续查看。


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!