Excel IF 函数

2025年3月17日 | 阅读 15 分钟

MS Excel,或 Microsoft Excel,是一个功能强大的电子表格程序,它允许用户在多个工作表中的单元格中记录大量数据。此外,它还允许用户使用各种现有函数和公式对记录的数据执行各种数学计算和分析操作。IF 函数就是其中一个内置的、广泛使用的、最受欢迎的 Excel 函数。

Excel IF Function

在本教程中,我们将简要介绍 Excel IF 函数。本教程还将讨论使用 Excel IF 函数的分步过程,包括相关示例。

Excel 中的 IF 函数是什么?

Excel IF 函数在两个值(或包含值的单元格)之间执行逻辑比较。该函数评估提供的条件是否满足,然后根据条件结果是 TRUE 还是 FALSE 返回一个输出值。特别是,IF 函数是一个内置的条件函数,它根据所提供条件的满足或不满足返回一个值。

例如,我们可以使用 IF 函数比较两个值,即单元格 A1 中的值是否大于单元格 B1 中的值。如果条件满足,则结果为 TRUE;否则,为 FALSE。

Excel IF 函数的工作原理与结构合适的流程图几乎相同。该函数主要在进行决策的逻辑解释时有用。我们还可以通过将其与其他逻辑函数(例如 AND、OR 等)结合使用来扩展 Excel IF 函数的逻辑测试功能。

IF 函数语法

Excel IF 函数的语法定义如下

其中,'logical_test'、'value_if_true' 和 'value_if_false' 是 IF 函数中的三个部分或参数。

根据上述语法,Excel IF 函数的通用格式定义如下

=IF(A1>B2, "TRUE", "FALSE")

我们用逗号 (,) 分隔了 IF 公式中的不同参数(或部分)。但是,我们也可以根据机器/设备的语言设置使用分号 (;)。

IF 函数的参数

Excel 中的 IF 公式接受以下三个参数

  • Logical_test:它是第一个也是必需的参数。它帮助我们指定要测试或评估为 TRUE 或 FALSE 的条件。指定的条件可以是值或逻辑表达式。
  • Value_if_true:它是 IF 函数接受的可选参数。它帮助我们指定当给定条件 (logical_test) 为 'TRUE' 时需要作为输出返回的值。
  • Value_if_false:它是 IF 函数接受的另一个可选参数。它帮助我们指定当给定条件 (logical_test) 为 'FALSE' 时需要作为输出返回的值。

Excel IF 函数的通用流程图结构

如上所述,IF 函数基于流程图的概念工作。根据条件和多个逻辑函数的使用,IF 函数的流程图可能看起来从简单到复杂不等。我们可以绘制一个通用 IF 函数的流程图,如下所示

Excel IF Function

上述流程图显示只有一个条件或标准,而两个结果则基于条件满足。如果条件满足(评估为 TRUE),函数返回左框中的值。如果条件不满足(评估为 FALSE),函数返回另一侧的输出。

IF 函数中使用的逻辑运算符

Excel IF 公式通常使用逻辑运算符根据给定条件比较值。在使用 IF 函数评估测试时,我们可以使用以下任何逻辑运算符

运算符描述示例
=等于A1=B1
<小于A1
<=小于等于A1<=B1
>大于A1>B1
>=大于等于A1>=B1
<>不等于A1<>B1

如何在 Excel 中使用 IF 函数?

要在 Excel 工作表中使用 IF 函数,我们必须执行以下步骤

  • 首先,我们必须输入等号 (=) 来开始函数名称。
  • 接下来,我们必须输入函数名称,后跟起始括号,即 =IF(
  • 在下一步中,我们需要为函数提供第一个参数 (logical_test)。我们必须使用运算符符号指定条件以进行逻辑比较。
  • 之后,我们需要提供可选参数,根据 TRUE 或 FALSE 返回值作为输出。

Excel IF 函数示例

让我们借助以下示例更好地理解 Excel IF 函数的概念和工作原理

示例 1:IF 函数在空/非空单元格上的基本应用

每个人都知道没有氧气生命是不可能的。假设我们有以下 Excel 工作表作为示例数据集,其中 A 列包含一些行星的列表,B 列包含这些行星氧气可用性的数据。

Excel IF Function

我们只需要使用 Excel IF 函数来找出生命可能存在的行星。我们可以在 IF 函数中使用氧气可用性标准来获得所需的结果。现在让我们将 IF 公式放入结果列 C(单元格 C2 到 C5)中,并找出我们示例表中列出的行星中具有生命潜力的行星名称

  • 首先,我们找出第一个行星(即木星)上生命的可能性。因此,我们选择相应的结果单元格 C2 并通过输入等号开始公式。之后,我们输入 IF 函数名称和起始括号,如下所示
    Excel IF Function
  • 接下来,我们为第一个行星应用条件。由于我们正在检查氧气可用性作为生命因素,因此我们应用条件 (B2="YES"),因为 B2 包含氧气可用性的数据。它将如下所示
    Excel IF Function
  • 最后,我们根据条件的满足和不满足给出要返回的值。如果条件匹配,我们希望 IF 函数返回:“生命可能存在于此”。如果条件不匹配,我们希望 IF 函数返回:“生命不可能存在于此”。我们使用逗号 (,) 分隔参数。因此,整个公式看起来像这样
    Excel IF Function
    之后,我们键入右括号并按 Enter 键以获得相应的结果。这表明木星上不可能存在生命。
    Excel IF Function
  • 在找到第一个行星的结果后,我们可以相应地在剩余的结果单元格中应用 IF 公式。但是,将公式从 C2 复制粘贴到下面的其他单元格会更容易。此外,我们可以使用填充柄拖动公式。这将帮助我们快速完成任务。
    Excel IF Function

基于“等于”的 IF 函数

基于“等于”条件的 IF 函数检查给定数字是否等于指定值。

示例:检查指定数据是否等于某个值。

需要遵循的步骤是

步骤 1:在工作表中输入数据,即 A1:C7

Excel IF Function

步骤 2:数据中给出了水果和蔬菜的种类和类别。在单元格 C2 中,输入公式为 =IF (B2="Vegetables", "Nutrients", "Vitamins")。假设单元格区域 B2:B7 中的数据等于“Vegetables”类别。在这种情况下,结果显示为“Nutrients”,如果单元格中存在的数据属于“Fruits”类别,则结果显示为“Vitamins”。

Excel IF Function

步骤 3:填充柄选项填充剩余单元格的公式,显示所需结果。

基于“大于”的 IF 函数

基于“大于”条件的 IF 函数检查给定数字是否超过指定值。

示例:检查指定数据是否大于某个值。

需要遵循的步骤是

步骤 1:在工作表中输入数据,即 A1:C7

Excel IF Function

步骤 2:要检查每个产品的成本是否高于 1000,请在单元格 D2 中输入公式为 =IF (C2>1000, "Yes", "No")

Excel IF Function

步骤 3:填充柄选项填充剩余单元格的公式,显示所需结果。

基于“小于”的 IF 函数

基于“小于”条件的 IF 函数检查给定数字是否小于指定值。

示例:检查指定数据是否小于某个值。

需要遵循的步骤是

步骤 1:在工作表中输入数据,即 A1:C7

Excel IF Function

步骤 2:要检查每个产品的成本是否小于 1000,请在单元格 D2 中输入公式为 =IF (C2<1000, "Yes", "No")

Excel IF Function

该公式根据条件返回“True”或“False”结果。

使用 NOT 函数 (<>) 的 IF 函数

IF 函数和 (<>) 函数用于检查所选单元格中的各种条件。

需要遵循的步骤是

1. 在单元格区域 A1:A5 中输入数据

2. 要检查单元格区域是否不为空,请在单元格 B1 中输入公式为 =IF(A1<>"",1,0)。按 Enter 键。

如果单元格不为空,该函数返回值 1;如果单元格为空,则返回值为 0。

4. 使用填充柄显示剩余单元格的结果。

Excel IF Function

IFS 函数

IFS 函数是 Excel 中的内置函数,用于检查给定数据的两个或多个条件。

IFS 函数的语法如下

=IFS (logical_test1, value_if_true1, [logical_test 2, value_if_true2], [logical_test3 ;...)

IFS 函数有三个逻辑条件

如果给定数字大于 (>) 另一个数字

如果给定数字等于 (=) 另一个数字

如果给定数字小于 (<) 另一个数字

示例:使用 IFS 函数检查给定数据的多个条件

需要遵循的步骤是

步骤 1:在工作表区域 A1:D7 中输入数据

Excel IF Function

步骤 2:数据中输入了各种人的汽车驾驶速度。公式中输入了多个条件以查找正常、快和慢的汽车速度。在单元格 D2 中输入公式为 =IFS (C2<50,"Slow", C2<100,"Normal", C2>100,"Fast")

Excel IF Function

步骤 3:填充柄选项填充剩余单元格的公式,显示所需结果。

注意事项

  • 在创建嵌套 IF 函数的公式时,函数相互嵌套的顺序至关重要。
  • 在一个公式中嵌套多个函数难以维护,有时也很难创建。
  • 嵌套 IF 函数的替代方法是 VLOOKUP 公式、INDEX 公式、MATCH 等。

IF ERROR

IF ERROR 是 Excel 中处理公式错误的标准函数之一。如果公式包含错误,它会返回表达式或表达式的值。

IFERROR 的语法是

=IFERROR (value, value_if_error)

Value - 需要评估错误的公式或值

Value_if_error - 如果公式返回错误值,则返回此值。

value_if_error 是可选的。如果公式中未包含此选项,它将返回默认错误消息。如果包含,它会显示有关用户在公式中输入的内容的消息。

Excel IF Function

示例 2:将 IF 函数与 AND、OR 和 MOD 函数结合使用

由于 IF 函数可以与许多其他 Excel 函数结合使用,因此在此示例中,我们讨论将 IF 函数与 AND、OR 和 MOD 函数结合使用。假设我们有以下多年(1990-2022)的列表。

Excel IF Function

我们需要使用 IF 函数来确定某一年是否是闰年。众所周知,闰年有 366 天,其中 2 月有 29 天。我们使用以下概念来查找闰年

  • 一个能被 4 整除但不能被 100 整除的年份,或
  • 一个能被 400 整除的年份

我们可以使用上述两个条件中的任何一个,并将 IF 函数与 AND、OR 和 MOD 结合使用。在公式中,AND 函数通常评估查找闰年的条件以变为相应的值“TRUE”。OR 函数评估这两个条件中的一个以变为相应的输出“TRUE”。此外,MOD 函数主要帮助我们找到被除数除以除数后的余数。

根据闰年的给定条件,我们可以通过以下两种方式使用 MOD 函数

MOD(year,4)=0MOD(year,100)<>0

MOD(year,400)=0

如果满足上述任何 MOD 条件,则相应的年份是闰年。

现在让我们将这些条件组合到 IF 函数中,我们的公式将是

=IF(OR(AND((MOD(year,4)=0),(MOD(year,100)<>0)),(MOD(year,400)=0)),"是闰年", "不是闰年")

其中“year”一词用于表示所需的年份或使用其在工作表中的相应单元格引用。因此,当我们在结果第一个单元格 (B2) 中应用整个公式时,我们将“year”一词替换为单元格 A2。它将如下所示

=IF(OR(AND((MOD(A2,4)=0),(MOD(A2,100)<>0)),(MOD(A2,400)=0)),"是闰年", "不是闰年")

Excel IF Function

同样,我们可以在 B 列中的其他结果单元格中应用 IF 公式,以查找相应的年份是否是闰年。一旦我们将公式应用于所有结果单元格,我们的示例工作表将如下所示

Excel IF Function

如果我们隐藏结果单元格中的公式并检查它们的结果,我们就会知道我们列表中的哪些年份是闰年。下图显示 1992、1996、2000、2004、2008、2012、2016 和 2020 年是闰年,而其他年份不是闰年。

Excel IF Function

带有 NOT 函数的 IF

IF 函数与 NOT 结合使用以显示所需结果。

NOT 函数

示例:将 NOT 函数与 IF 函数结合使用

  1. 在所需工作表(即 A1:B5)中输入数据
    Excel IF Function
  2. 要检查单元格 A1:A5 中的数据是否不是“Pink”,则将单元格 B1 中的值加上结果 10,否则返回 B1 中的值。在单元格 C1 中输入公式为 =IF(NOT(A1="Pink"),B1+10,B1)
    Excel IF Function
  3. 使用填充柄显示剩余单元格的结果。

示例 3:在 VLOOKUP 中使用 IF 函数

在此示例中,我们将 IF 函数与 VLOOKUP 函数结合使用,使其更有效。假设我们有以下示例数据表,其中 A 列中列出了几个项目,B 列中列出了它们的可用性。

Excel IF Function

我们需要使用 IF 函数来确定特定项目是否在我们的库存中。我们使用单元格 D2 输入要搜索的项目名称,而相关项目的可用性将记录在单元格 E2 中。因此,单元格 D2 将作为 VLOOKUP 函数的查找值,单元格 E2 将是我们插入整个公式的结果单元格。

将 IF 函数与 VLOOKUP 结合使用时,VLOOKUP 函数主要查找与相应项目可用性相关的值,而 IF 函数检查可用数量是否大于零。如果项目数量大于零,则相应项目在我们的库存中。

根据我们的示例数据,我们可以通过以下方式应用 VLOOKUP 函数

=VLOOKUP(D2,A2:B8,2,0)

其中 A2:B8 是表数组,'2' 是用于返回值​​的列号。

现在,我们通过以下方式将上述 VLOOKUP 公式与 IF 函数结合,应用项目可用性的条件

=IF(VLOOKUP(D2,A2:B8,2,0)>0, "项目可用","项目不可用")

Excel IF Function

在上面的图像中,公式为项目“SSD”返回“项目不可用”。同样,我们的数据表显示 SSD 在我们的库存中为零项。因此,公式工作正常。我们可以更改单元格 D2 中的项目名称,并且项目的可用性将自动反映在单元格 E2 中。但是,公式保持不变。

Excel IF Function

嵌套 IF 函数

Excel 中的 IF 函数可以嵌套。嵌套 IF 函数是多个 IF 函数的组合。“嵌套 IF”至少包含一个 IF 函数,该函数位于另一个函数中,用于同时评估多个条件并相应地返回输出。在 Excel 中,一个公式中最多可以嵌套 64 个 IF 函数。但是,我们必须仔细检查以确保每个 IF 条件都正确嵌套在另一个条件中。

以下示例显示了嵌套 IF 的使用,其中 IF 函数用于(嵌套)在另一个函数中。

IF 函数中的条件用于根据分数查找相应的等级。分配等级的理由如下表所示

得分级别
0-600F
61-700D
71-840C
85-940B
95-100A

我们通常在嵌套 IF 公式中沿一个方向移动,无论是从高到低还是从低到高。在我们的示例中,我们从低到高。我们首先测试分数低于 60 的等级,然后转到下一个 IF 函数并测试分数低于 70 的等级,依此类推。这样,我们允许函数仅在条件为 TRUE 时返回输出(等级),并且函数仅在前面的函数已返回 FALSE 时才检查下一个 IF 条件。

注意:除了使用多个嵌套 IF 函数外,我们还可以在 Excel 中使用 IFS 函数。但是,IFS 函数仅在 Office 2019 和 Microsoft 365 中可用。在旧版本中,我们可以考虑使用 VLOOKUP 或 HLOOKUP,因为它们即使在复杂情况下也能正确处理许多条件。

带有特定文本的 IF 函数

IF 函数不支持通配符。因此,ISNUMBER 和 SEARCH 函数的组合用于在给定数据中查找特定文本。

示例:使用 ISNUMBER 和 SEARCH 函数查找特定文本。

步骤 1:在工作表中输入数据,即 A1:A5

步骤 2:要确定单元格 A1 中是否存在特定字符串,请在单元格 B1 中输入公式为 =IF(ISNUMBER(SEARCH("ABC", A1)), "Yes", "No")

步骤 3:如果单元格中存在指定数据,该函数返回结果为“Yes”,否则返回结果为“No”。

Excel IF Function

步骤 4:使用填充柄显示剩余单元格的结果。

IF 函数用于区分大小写的数据

为了区分大写和小写字符,将 IF 函数与 EXACT 函数一起使用。

需要遵循的步骤是

  1. 在工作表(即 A1:B5)中输入数据
    Excel IF Function
  2. 在单元格 C1 中输入公式为 =IF(EXACT(B1, "flower"), "No", "Yes")。按 Enter 键。结果将根据区分大小写的数据显示在单元格 C1 中。
    Excel IF Function
  3. 使用填充柄显示剩余单元格的结果。

IF 公式执行另一个公式

IF 公式用于使用特定条件执行另一个公式。要遵循的步骤是

  1. 在单元格区域 A1:A5 中输入数据
  2. 在单元格 B1 中输入公式为 =IF(A1>70,A1*5%,A1*7%)。按 Enter 键。该函数将数据乘以 5%,如果值大于 70,否则将数据乘以 7%。
    Excel IF Function
  3. 填充柄显示剩余单元格的结果。

IF 函数用于日期

除了文本和数值,IF 函数还计算日期。IF 函数和 DATEVALUE 函数用于比较日期。

要比较给定数据中的日期,要遵循的步骤是

  1. 在所需工作表(即 A1:A5)中输入日期
    Excel IF Function
  2. 在单元格 B2 中输入公式为 = IF(A1>DATEVALUE("5/5/2023"), "即将推出", "已完成")
    Excel IF Function
  3. 使用填充柄显示剩余单元格的结果。

IFunctionon 用于使用绝对引用的日期

比较日期的另一种选择是为指定日期使用绝对引用。

需要遵循的步骤是

1. 在工作表 A1:A5 中输入数据范围,并在单元格 C1 中输入指定日期。

要将日期与单元格 C1 中存在的指定日期进行比较,请在单元格 B1 中输入公式为 =IF(A1>$C$1, "即将推出", "已完成")。按 Enter 键,结果将显示在单元格 B1 中。

Excel IF Function

3. 使用填充柄显示剩余单元格的结果。

IF 函数用于日期,使用 TODAY() 函数

比较日期的另一种选择是为指定日期使用 Today(Function)。

需要遵循的步骤是

  1. 在工作表(即 A1:A5)中输入数据范围。
  2. 要将日期与今天的日期进行比较,请在单元格 B1 中输入公式为 =IF(A1>TODAY(), "即将推出","已完成")。按 Enter 键,结果将显示在单元格 B1 中。
    Excel IF Function
  3. 使用填充柄显示剩余单元格的结果。

IF 函数使用 ISBLANK() 函数

ISBLANK() 函数与 IF 函数一起用于检查单元格是否为空。

需要遵循的步骤是

  1. 在工作表中输入数据,即 A1:A5
  2. 要检查单元格区域 A1:A5 是否包含空白,请在单元格 B1 中输入公式为 =IF(ISBLANK(A1),0,1)。如果单元格为空,该函数返回值为零;如果单元格包含数据,则返回值为一
    Excel IF Function
  3. 使用填充柄显示剩余单元格的结果。

要记住的重要事项

  • IF 函数不支持通配符。但是,我们可以通过将 IF 函数与 COUNTIF 函数结合使用来使用基本的通配符功能。
  • 如果 IF 函数中的任何参数作为数组提供,则该函数会相应地评估每个数组元素。
  • 当我们输入错误的函数名称时,例如 IFF、IEF 等,IF 公式会出现 #NAME! 错误。
  • 当参数 'logical_test' 未评估为 TRUE 或 FALSE 时,IF 公式会出现 #VALUE! 错误。