描述
如果表达式的计算结果为 #N/A,则使用此函数返回指定的值;如果不是,则返回表达式的结果。
句法
IFNA(值, value_if_na)
输入
该函数接受以下参数:
| 姓名 | 必要 | 描述 | 有效输入 |
|---|---|---|---|
值 |
是的 | 要检查的值或表达式是否存在 #N/A 错误。 | 数字、文本或逻辑值,包含这些内容的单元格的引用,包含这些内容的单元格区域,或产生这些内容的公式。 |
value_if_na |
是的 | 如果表达式的计算结果为 #N/A,则返回该值。 | 任何值,包括文本、数字或逻辑值。 |
实例
范例数据
| A | B | |
|---|---|---|
| 1 | 苹果 | $1.50 |
| 2 | 香蕉 | $0.75 |
| 3 | 樱桃 | $2.25 |
| 4 | 日期 | $3.00 |
示例公式
| 用例 | 公式 | 解释与结果 |
|---|---|---|
| 在一定范围内查找值,并从另一列返回相应的值;如果找不到查找值,则提供自定义消息。 | =IFNA(VLOOKUP("香蕉",A1:B4,2,FALSE), "没有库存") |
该公式的工作原理如下:
对于此数据集,公式返回 0.75。 |
| 在一定范围内查找值,并从另一列返回相应的值;如果找不到查找值,则提供自定义消息。 | =IFNA(VLOOKUP("葡萄",A1:B4,2,FALSE),"没有库存") |
该公式的工作原理如下:
对于此数据集,公式返回 无库存。 |
| 在以特定字母开头的范围内搜索值,并返回关联列中的值;如果找不到查找值,则提供自定义消息。 | =IFNA(INDEX(B1:B4,MATCH("D*",A1:A4,0)),"没有以'D'开头的水果") |
该公式的工作原理如下:
对于此数据集,公式返回 3.00。 |
| 执行除法运算;如果发生“除以零”错误,则提供自定义消息。 | =IFNA(1/0,"不能除以零") |
该公式的工作原理如下:
对于此数据集,公式返回 #DIV/0!。 |
笔记
- IFNA 只能捕获 #N/A 错误。(这些表示未找到数据。)
- 如果公式没有产生 #N/A 错误,IFNA 将返回该值。如果公式返回不同的错误,IFNA 将返回该错误值。
- 对于 #N/A 错误,IFNA 允许您指定一个替代值,以便在返回该错误时显示。
- IFNA 与 VLOOKUP、 HLOOKUP、 MATCH和 INDEX 函数配合使用时特别有用,因为当找不到值时,这些函数通常会返回 #N/A。
- IFNA 可以嵌套在其他函数中,也可以作为更大公式的一部分使用。(参见以上示例。)
使用技巧
- 当您想要专门处理 #N/A 错误,但允许显示其他类型的错误时,请使用 IFNA。
- IFNA 比使用
IF(ISNA(…))更高效,因为它只计算一次表达式。 - 要处理多种错误类型,请考虑使用 IFERROR 代替。
- 当使用 IFNA 查找函数时,请考虑为缺失数据返回默认值是否适合您的使用场景。
- IFNA 在金融模型中非常有用,因为在金融模型中,区分真正的零值和“未找到”的情况非常重要。