如果指定的条件的计算结果为 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可以是另一个公式。
说明
-
最多可以嵌套 7 个 IF 函数作为value_if_true和value_if_false参数来构造更详细的测试。 请参阅以下示例中的最后一个。
-
计算value_if_true和value_if_false参数时,IF 返回这些语句返回的值。
-
如果 IF 的任何参数是数组,则执行 IF 语句时将计算数组的每个元素。
示例集 1
C ol1 |
Col2 |
Col3 |
费用 |
公式 |
说明(结果) |
---|---|---|---|---|---|
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],“Over Budget”,“OK”) |
检查第一行是否超出预算 (超出预算) |
500 |
900 |
=IF ([ActualExpenses]>[PredictedExpenses],“Over Budget”,“OK”) |
检查第二行是否超出预算 (正常) |
示例集 3
得分 |
公式 |
说明(结果) |
---|---|---|
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 |