首页 / 公式 / IFERROR 函数
错误处理 Excel + Google Sheets

IFERROR 函数

IFERROR 把计算包起来,出错就改返回兜底值——是让 #N/A 和 #DIV/0! 远离报表最快的方法。搞清楚它哪里好用、哪里会悄悄掩盖真正的问题,然后在迷你表格上动手验证。

IFERROR 函数语法与参数结构

=IFERROR(value, [value_if_error])

IFERROR 是错误处理的保险丝:value 正常就返回计算结果,一旦出错就改返回你指定的兜底值。

1 value
必填

要检查的公式或表达式(例如 C2/B2、VLOOKUP(E2, A2:C6, 3, FALSE))。任何错误类型都会被拦截:#N/A、#DIV/0!、#VALUE!、#REF!、#NAME?、#NUM!。

2 value_if_error
选填

出错时返回的值:双引号文本("Not found")、数字、空白("")或另一个公式。省略时错误显示为空白单元格。

它接得住哪些错误?

  • #N/A — 查找函数找不到目标值(VLOOKUP、XLOOKUP、MATCH 落空)
  • #DIV/0! — 除以零或空白单元格
  • #VALUE! — 参数类型不对,例如拿文本做数学运算
  • #REF! — 引用的单元格被删除——结构性损坏,慎用 IFERROR 掩盖
  • #NAME? — 函数或名称拼错,例如 =VLOKUP(…)

经典组合:除法保险与查找兜底

=IFERROR(C2/B2, "Check qty")

除法是最常见的 #DIV/0! 来源:数量为 0 或空白时出错。注意:总额为 0 是合法数字(0 ÷ 5 = 0),IFERROR 不会动它。

=IFNA(VLOOKUP(E2, A2:C6, 3, FALSE), "Not found")

查找落空用 IFNA 比 IFERROR 更精准:只转换 #N/A,#REF! 这类结构损坏仍然大声报错。XLOOKUP 用户可以直接用第 4 参数:=XLOOKUP(E2, A2:A6, C2:C6, "Not found")。

三个工具的分工:IFNA / IFERROR / ISNA

IFNA

手术刀。只转换 #N/A(查无数据),其他错误原样保留——查找兜底的首选,问题不会被悄悄藏起来。

IFERROR

保险丝。接住所有错误,最省事;代价是 #REF! 等真正的损坏也会变成 "Not found"。报表交付前的最后一道防线再用它。

ISNA / ISERROR

审计员。不替换、只上报:=ISNA(VLOOKUP(…)) 返回 TRUE/FALSE,适合审计列、条件格式与 =SUMPRODUCT(--ISNA(range)) 统计。

常见错误与注意事项

  • 掩盖问题 — IFERROR 会掩盖一切:=IFERROR(VLOOKUP(…), "") 连「列被删掉的 #REF!」都会变成空白——报表安静地错下去。先用 IFNA 或 IF 检查具体条件,才不会把问题藏进保险丝里。
  • 语法错误 — 它救不了语法错误:公式解析错误(括号不平衡、引号漏写、分隔符用错)让公式根本无法计算,IFERROR 没有机会出手。先修语法。
  • 整列乱包 — 不要整列乱包:对整个范围套 IFERROR 会把「哪一行有问题」的线索全部抹平。需要排查时,用 ISERROR/ISNA 做标记列定位问题行,修完再包。

排错指南:公式不计算、只显示公式文本的 4 大原因

如果 Excel 或 Google Sheets 把公式当作普通文本显示(例如单元格直接显示 =SUM(A1:A5))或数值不再自动更新,IFERROR 是帮不上忙的,因为公式根本没有进入计算阶段。请检查以下 4 个常见原因:

1. 单元格格式被设置为“文本”

若输入公式前单元格已被设置为文本格式,Excel 会将其视为纯文本字符串。解法:改回“常规”或“数值”,然后双击单元格按 F2 再按 Enter 重新触发计算。

2. 不小心开启了“显示公式”模式

若全表所有公式突然全部裸露出来,按快捷键 Ctrl + `(反引号)或在“公式”选项卡关闭“显示公式”开关。

3. 工作簿计算选项被切为“手动”

在“公式”→“计算选项”检查是否被改为手动计算,将其切回“自动”(或按 F9 强制重新计算当前工作表)。

4. 等号前面有多余空格

等号前若含有空格字符(例如 " =A1+B1"),Excel 会将其识别为纯文本。删除开头的空格即可恢复运算。

IFERROR 入门实战:容错的单价计算

在下方锁定迷你表格中敲入 IFERROR 公式,亲眼看着 #DIV/0! 变成有用提示,或打开独立全屏页面练习。

打开独立练习题页
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

相关实战练习推荐

错误处理家族的完整实战:除零、查找落空、ISNA 审计——在真实业务情境中建立肌肉记忆。

常见问题

Excel 的 IFERROR 是做什么的?

=IFERROR(value, value_if_error) 先计算 value 并返回结果——一旦产生错误(#N/A、#DIV/0!、#VALUE!、#REF!、#NAME?),改返回兜底值。省略 value_if_error 时,错误会显示成空白单元格。

IFERROR 和 IFNA 有什么区别?

IFNA 只转换 #N/A——查无数据——其他错误原样保留。IFERROR 则全部转换。查找场景优先用 IFNA(或 XLOOKUP 的 if_not_found 参数):删列造成的 #REF! 应该让你警觉,而不是安静地变成 "Not found"。

VLOOKUP 或 XLOOKUP 的 #N/A 怎么修?

包一层:=IFNA(VLOOKUP(…), "Not found") 只转换落空。XLOOKUP 有原生第 4 参数:=XLOOKUP(E2, A2:A6, C2:C6, "Not found")。想审计而非替换,用 =ISNA(VLOOKUP(…)),落空时返回 TRUE。

Google Sheets 为什么显示 formula parse error?

公式解析错误表示 Sheets 连读都读不懂这条公式——括号不平衡、少了引号,或分隔符不对(部分语言环境要用 ; 而不是 ,)。IFERROR 帮不上忙:语法错误让公式根本无法计算。先修语法,再用 IFERROR 处理运行期错误。