IFERROR
如果表达式返回错误,则会对表达式进行求值并返回指定的值;否则会返回表达式本身的值。
语法
IFERROR(value, value_if_error)
parameters
术语 | 定义 |
---|---|
值 | 任何值或表达式。 |
value_if_error | 任何值或表达式。 |
返回值
与 value 同类型的标量
备注
可以使用 IFERROR 函数来捕获和处理表达式中的错误。
如果 value 或 value_if_error 为空单元格,IFERROR 则会将其视为空字符串值 ("") 。
IFERROR 函数基于 IF 函数,并且使用相同的错误消息,但拥有的参数更少。 IFERROR 函数和 IF 函数之间的关系如下所示:
IFERROR(A,B) := IF(ISERROR(A), B, A)
为 A 和 B 返回的值必须属于相同的数据类型;因此,用于 value 的列或表达式与为 value_if_error 返回的值必须是相同的数据类型 。
在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
有关使用 IFERROR 时的最佳做法,请参阅适当使用错误函数。
示例
如果对表达式 25/0 的计算得到错误,下面的示例则会返回 9999。 如果表达式返回 error 以外的值,该值则会传递给调用表达式。
= IFERROR(25/0,9999)