IF 函数

应用对象
SharePoint Server 2019 SharePoint Server 2016 SharePoint Server 2013 SharePoint Server 2013 企业版 SharePoint Foundation 2010 SharePoint Server 2010 Windows SharePoint Services 3.0

如果指定条件的计算结果为 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 费用 公式 描述(结果)
50 =IF ([费用]<=100,“在预算范围内”,“超出预算”) 如果数字小于或等于 100,则公式显示“在预算范围内”。 否则,该函数将显示“超出预算”。 (在预算) 范围内
23 45 89 50 =IF ([费用]=100,SUM ([Col1],[Col2],[Col3]) ,“”) 如果数字为 100,则三个值相加。 否则,返回空文本 ("")。 ()

示例集 2

ActualExpenses PredictedExpenses 公式 描述(结果)
1500 900 =IF ([ActualExpenses]>[PredictedExpenses],“超出预算”,“OK”) 检查第一行是否超出预算 (超出预算)
500 900 =IF ([ActualExpenses]>[PredictedExpenses],“超出预算”,“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