一、官方介绍

本文介绍 Microsoft Excel 中 IF 函数的公式语法和用法。

1.1 说明

如果指定条件的计算结果为 TRUE,IF 函数将返回某个值;如果该条件的计算结果为 FALSE,则返回另一个值。 例如,如果 A1 大于 10,公式 =IF(A1>10,”大于 10”,”不大于 10”) 将返回“大于 10”,如果 A1 小于等于 10,则返回“不大于 10”。

1.2 语法

:::tips IF(logical_test, [value_if_true], [value_if_false]) ::: IF 函数语法具有下列参数。

  • logical_test 必需。 计算结果为 TRUE 或 FALSE 的任何值或表达式。 例如,A10=100 就是一个逻辑表达式;如果单元格 A10 中的值等于 100,则表达式的计算结果为 TRUE。 否则,表达式的计算结果为 FALSE。 此参数可以使用任何比较计算运算符。
  • value_if_true 可选。 logical_test 参数的计算结果为 TRUE 时所要返回的值。 例如,如果此参数的值为文本字符串“预算内”,并且 logical_test 参数的计算结果为 TRUE,则 IF 函数返回文本“预算内”。如果 logical_test 的计算结果为 TRUE,并且省略 value_if_true 参数(即 logical_test 参数后仅跟一个逗号),IF 函数将返回 0(零)。 若要显示单词 TRUE,请对 value_if_true 参数使用逻辑值 TRUE。
  • value_if_false 可选。 logical_test 参数的计算结果为 FALSE 时所要返回的值。 例如,如果此参数的值为文本字符串“超出预算”,并且 logical_test 参数的计算结果为 FALSE,则 IF 函数返回文本“超出预算”。如果 logical_test 的计算结果为 FALSE,并且省略 value_if_false 参数(即 value_if_true 参数后没有逗号),则 IF 函数返回逻辑值 FALSE。 如果 logical_test 的计算结果为 FALSE,且 value_if_false 参数的值为空(即,value_if_true 参数后仅有一个逗号),则 IF 函数返回值 0(零)。 :::success 助记口诀:
    真省略有逗返回0
    假省略有逗返回0
    假省略无逗返回假 ::: 1.3 注意事项

  • 最多可以使用 64 个 IF 函数作为 value_if_truevalue_if_false 参数进行嵌套以构造更详尽的测试。 (请参阅示例 3,这是嵌套 IF 函数的一个示例。)此外,若要检测多个条件,请考虑使用 LOOKUP、VLOOKUP、HLOOKUP 或 CHOOSE 函数。 (请参阅示例 4,这是 LOOKUP 函数的一个示例。)

  • 如果 IF 的任意参数为数组 ,则在执行 IF 语句时,将计算数组的每一个元素。
  • Excel 还提供了其他一些函数,可使用这些函数根据条件来分析数据。 例如,若要计算某单元格区域内某个文本字符串或数字出现的次数,可使用 COUNTIF 或 COUNTIFS 工作表函数。 若要计算基于某区域内一个文本字符串或一个数值的总和,可使用 SUMIF 或 SUMIFS 工作表函数。

    1.4 示例

    示例1

    复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。
数据
50 23 33175
公式 说明 结果
=IF(A2<=100,”预算内”,”超出预算”) 如果单元格 A2 中的数字小于等于 100,公式将返回“预算内”;否则,函数显示“超出预算”。 预算内
=IF(A2=100,A2+B2,””) 如果单元格 A2 中的数字为 100,则计算并返回 A2 与 B2 的和。 否则,返回空文本 (“”)。
=IF(3<1,”OK”) 如果结果为 False 并且没有为 False 结果提供 value_if_false 参数,那么将返回

FALSE。 | FALSE | | =IF(3<1,"OK",) | 如果结果为 False 并且为 False 结果提供了空白的 **value_if_false** 参数(**value_if_true** 参数后有一个逗号),那么将返回 0。

(未提供返回的结果但是没有省略占位逗号,就返回0)
| 0 |

示例2

实际费用 预期费用
¥15,000 ¥9,000
¥5,000 ¥9,000
¥5,000 ¥9,250
公式 说明 结果
=IF(A2>B2,”超出预算”,”正常”) 检查第 2 行的实际费用是否大于预期费用。 如果测试结果为 True,则返回“超出预算”。 超出预算
=IF(A3>B3,”超出预算”,”正常”) 检查第 3 行的实际费用是否大于预期费用。 如果测试结果为 False,则返回“正常”。 正常

示例3

分数
45
90
78
公式 说明 结果
=IF(A2>89,”A”,IF(A2>79,”B”,

IF(A2>69,”C”,IF(A2>59,”D”,”F”)))) | 使用嵌套 IF 条件为单元格 A2 中的分数指定一个字母等级。 | F | | =IF(A3>89,”A”,IF(A3>79,”B”, IF(A3>69,”C”,IF(A3>59,”D”,”F”)))) | 使用嵌套 IF 条件为单元格 A3 中的分数指定一个字母等级。 | A | | =IF(A4>89,”A”,IF(A4>79,”B”, IF(A4>69,”C”,IF(A4>59,”D”,”F”)))) | 使用嵌套 IF 条件为单元格 A4 中的分数指定一个字母等级。 | C |

示例4

分数
45
90
78
公式 说明 结果
=LOOKUP(A2,{0,60,63,67,70,73,77,80,83,87,90,93,97},{“F”,”D-“,”D”,”D+”,”C-“,”C”,”C+”,”B-“,”B”,”B+”,”A-“,”A”,”A+”}) 上述公式使用 LOOKUP 函数,而不是使用多个嵌套 IF 函数,来查找对应于数值评分的字母等级,该数值评分存储在公式中的数组内。 F
=LOOKUP(A3,{0,60,63,67,70,73,77,80,83,87,90,93,97},{“F”,”D-“,”D”,”D+”,”C-“,”C”,”C+”,”B-“,”B”,”B+”,”A-“,”A”,”A+”}) 上述公式使用 LOOKUP 函数,而不是使用多个嵌套 IF 函数,来查找对应于数值评分的字母等级,该数值评分存储在公式中的数组内。 A-
=LOOKUP(A4,{0,60,63,67,70,73,77,80,83,87,90,93,97},{“F”,”D-“,”D”,”D+”,”C-“,”C”,”C+”,”B-“,”B”,”B+”,”A-“,”A”,”A+”}) 上述公式使用 LOOKUP 函数,而不是使用多个嵌套 IF 函数,来查找对应于数值评分的字母等级,该数值评分存储在公式中的数组内。 C+

:::warning IF函数官方源文件.xlsx :::

:::info 参考资料:
[1] office官方帮助说明 :::