IF 函数

IF 函数是 Excel 中最常用的函数之一,它可以对值和期待值进行逻辑比较。IF 函数最简单的形式表示:

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

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

如果想要直接跳到使用多个 IF 语句,请参阅:高级 IF 函数 - 使用嵌套公式并避免错误。

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

语法

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 示例

单元格 D2 包含公式 =IF(C2="Yes",1,2)
  • =IF(C2=”Yes”,1,2)

在上面的示例中,单元格 D2 表示:如果(C2 等于 Yes,则返回 1,否则就返回 2)

单元格 D2 包含公式 =IF(C2=1,"YES","NO")
  • =IF(C2=1,”Yes”,”No”)

在此示例中,单元格 D2 中的公式表示:如果(C2 等于 1,则返回 Yes,否则就返回 No)

如你所见,IF 函数可用于计算文本和数值。它还可用于计算错误。不仅可以检查一项内容是否等于另一项内容并返回单个结果,而且还可以根据需要使用数学运算符并执行其他计算。此外,还可将多个 IF 函数嵌套在一起来执行多个比较。

注意: 如果要在公式中使用文本,需要将文字用引号括起来(例如“Text”)。唯一的例外是使用 TRUE 和 FALSE 时,Excel 能自动理解它们。

如何开始

开始编写 IF 语句的最好方法是思考你想要实现什么目的。你想要进行什么比较?很多时候编写 IF 语句就和在脑中进行逻辑思考一样简单:“如果满足此条件应该怎样和如果不满足此条件应该怎样?”始终应该确保你的步骤遵循逻辑进展,否则公式就不会按照你认为的方式执行。创建复杂(嵌套)IF 语句时这一点尤其重要。

更多 IF 示例

单元格 D2 中的公式是 =IF(C2>B2,”Over Budget”,”Within Budget”)
  • =IF(C2>B2,”Over Budget”,”Within Budget”)

在上面的示例中,D2 中的 IF 函数表示如果(C2 大于 B2,则返回“Over Budget”,否则就返回“Within Budget”)

单元格 E2 中的公式是 =IF(C2>B2,C2-B2,"")
  • =IF(C2>B2,C2-B2,0)

在上面的示例中,函数会返回一个数学运算,而不是文本结果。E2 中的公式表示如果(实际值大于预算,则从实际金额中减去预算金额,否则就不返回任何结果)。

单元格 F7 中的公式是 IF(E7=”Yes”,F5*0.0825,0)
  • =IF(E7=”Yes”,F5*0.0825,0)

在此示例中,F7 中的公式表示如果(E7 = “Yes”,则计算 F5 * 8.25% 的总金额,否则就不应该付销售税,因此返回 0)

最佳做法 - 常量

在最后一个示例中,可以看到两项都是 “Yes”,并且销售税率 (0.0825) 直接输入在公式中。通常来说,将文本常量(可能需要时不时进行更改的值)直接代入公式的做法不是很好,因为将来很难找到和更改这些常量。最好将常量放入其自己的单元格,一目了然,也便于查找和更改。在这个示例中这样做没关系,因为只有一个 IF 函数,并且销售税率很少变化。即使销售税率有变化,在公式中进行更改也很容易。

计算运算符

若要详细了解可在公式中使用的不同计算运算符(例如 < 小于、> 大于、= 等于或 <> 不等于),请参阅本文:计算运算符和优先顺序。

使用 IF 检查单元格是否为空白

有些时候,你需要检查单元格是否为空白,通常是因为你可能不希望公式没有输入值就显示结果。

单元格 E2 中的公式是 =IF(D2=1,"Yes",IF(D2=2,"No","Maybe"))

此情况下,将 IF 与 ISBLANK 函数搭配使用:

  • =IF(ISBLANK(D2),"Blank","Not Blank")

这表示如果(D2 为空白,则返回“Blank”,否则,将返回“Not Blank”)。还可以针对“Not Blank”条件同样轻松地使用自己的公式。在下一个示例中,我们将使用 "",而不是 ISBLANK。"" 实际上意味着“没有内容”。

检查单元格是否为空白 - 单元格 E2 中的公式为 =IF(ISBLANK(D2),"Blank","Not Blank")
  • =IF(D3="","Blank","Not Blank")

此公式表示如果(D3 没有内容,则返回“Blank”,否则返回“Not Blank”)。下面的示例是使用 “” 防止公式在从属单元格空白时进行计算的一种十分常见的方法:

  • =IF(D3="","",YourFormula())

    如果(D3 没有内容,则不返回内容,否则,将计算你的公式)

嵌套 IF 示例

简单 IF 函数只有两个结果(True 或 False),而嵌套 IF 函数有 3 至 64 个结果。

使用 "" 检查空白单元格 - 单元格 E3 中的公式为 =IF(D3="","Blank","Not Blank")
  • =IF(D2=1,”YES”,IF(D2=2,”No”,”Maybe”))

在上面的示例中,E2 中的公式表示:IF(D2 等于 1,则返回“Yes”;IF(D2 等于 2,返回“No”;否则返回“Maybe”))。请注意,公式的末尾有两个右括号。需要两个括号来完成两个 IF 函数,如果在输入公式时未使用两个右括号,Excel 将尝试为你更正。

注意事项

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

  • 要正确地构建多个 IF 语句需要花大量心思,并且要确保其逻辑在直至结尾的每个条件下都能计算正确。如果嵌套 IF 语句不是 100% 准确,那么公式计算过程可能花 75% 的时间,而返回结果可能花 25% 的时间,并且结果并不理想。但是得出这 25% 结果的几率很小。

  • 多个 IF 语句维护起来非常困难,特别是当你过一段时间后回头再看,想要了解当时你(其他人的话更糟糕)想要做什么时。

  • 多个 IF 语句需要多个左括号和右括号 (),管理的难易程度取决于公式的复杂性。

常见问题

问题

哪里出现了错误

单元格中的 0(零)

value_if_true value_if_False 参数无参数值。若要查看返回的正确值,应为两个参数添加参数文本,或者为参数添加 TRUE 或 FALSE。

单元格中的 #NAME?

这通常意味着公式存在拼写错误。

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

视频:高级 IF 函数

IFS 函数(Office 365、Excel 2016 和更高版本)

高级 IF 函数 - 使用嵌套公式并避免错误

培训视频:高级 IF 函数

COUNTIF 函数将根据单个条件计算值

COUNTIFS 函数将根据多个条件计算值

SUMIF 函数将根据单个条件求和

SUMIFS 函数将根据多个条件求和

AND 函数

OR 函数

VLOOKUP 函数

Excel 中的公式概述

如何避免损坏的公式

使用错误检查功能检查公式中的错误

逻辑函数

Excel 函数(按字母顺序)

Excel 函数(按类别列出)

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×