注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的 英文版本 以便参考。
判断指定条件的计算结果,如果为 TRUE 返回一个值,如果为 FALSE 则返回另一个值。可以使用 IF 对数值和公式执行条件测试。
语法
IF(logical_test,value_if_true,value_if_false)
Logical_test 是计算结果为 TRUE 或 FALSE 的任何值或表达式。例如,[Quarter1]=100 是一个逻辑表达式;如果该列某行中的值 [Quarter1] 等于 100,则表达式的计算结果为 TRUE。否则,表达式的计算结果为 FALSE。此参数可以使用任何比较计算运算符。
Value_if_true 是 logical_test 为 TRUE 时返回的值。例如,如果此参数是文本字符串“预算内”,而且 logical_test 参数的计算结果为 TRUE,则 IF 函数显示文本“预算内”。如果 logical_test 为 TRUE 而 value_if_true 为空,则此参数返回 0(零)。若要显示单词 TRUE,请为此参数使用逻辑值 TRUE。Value_if_true 也可以是其他公式。
Value_if_false logical_test 为 FALSE 时返回的值。例如,如果此参数是文本字符串“超出预算”,而且 logical_test 参数的计算结果为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且省略了 value_if_false(即 value_if_true 后面没有逗号),则会返回逻辑值 FALSE。如果 logical_test 为 FALSE 且 value_if_false 为空(即 value_if_true 后有逗号,并紧跟着右括号),则此参数返回 0(零)。Value_if_false 还可以是其他公式。
注解
-
IF 函数最多可以嵌套七层,用作 value_if_true 和 value_if_false 参数,以构造复杂的检测。请参阅下面最后一个示例。
-
在计算参数 value_if_true 和 value_if_false 时,IF 会返回相应语句执行后的返回值。
-
如果 IF 的参数包含数组,则在执行 IF 语句时,将计算数组中的每一个元素。
示例集 1
C ol1 |
Col2 |
Col3 |
Expense |
公式 |
说明(结果) |
50 |
=IF([Expense]<=100,"预算内","超出预算") |
如果数字小于等于 100,则公式将显示“预算内”。否则,函数显示“超出预算”。(预算内) |
|||
23 |
45 |
89 |
50 |
=IF([Expense]=100,SUM([Col1],[Col2],[Col3]),"") |
如果数字为 100,则将这三个值相加。否则,返回空文本 ("")。() |
示例集 2
ActualExpenses |
PredictedExpenses |
公式 |
说明(结果) |
1500 |
900 |
=IF([ActualExpenses]>[PredictedExpenses],"超出预算","预算内") |
检测第一行是否超出预算(超出预算) |
500 |
900 |
=IF([ActualExpenses]>[PredictedExpenses],"超出预算","预算内") |
检测第二行是否超出预算(预算内) |
示例集 3
Score |
公式 |
说明(结果) |
45 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
为第一个成绩指定一个用字母表示的评分等级 (F) |
90 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
为第二个成绩指定一个用字母表示的评分等级 (A) |
78 |
=IF([Score]>89,"A",IF([Score]>79,"B", IF([Score]>69,"C",IF([Score]>59,"D","F")))) |
为第三个成绩指定一个用字母表示的评分等级 (C) |
在上例中,第二个 IF 语句同时也是第一个 IF 语句的 value_if_false 参数。同样,第三个 IF 语句是第二个 IF 语句的 value_if_false 参数。例如,如果第一个 logical_test ([Score]>89) 为 TRUE,则返回“A”。如果第一个 logical_test 为 FALSE,则计算第二个 IF 语句,以此类推。
可使用下列方式指定成绩的用字母表示的评分等级(假设只使用整数)。
如果成绩是 |
则返回 |
大于 89 |
A |
80 到 89 |
B |
70 到 79 |
C |
60 到 69 |
D |
低于 60 |
F |