一、官方介绍
本文介绍 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_true 和 value_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官方帮助说明
:::
