使用 IFERROR 捕获错误
使用 IFERROR 将任意错误替换为备用值
使用 IFERROR 捕获错误 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
认识 IFERROR
IFERROR 函数是通用的安全网。它会检查公式是否产生任何错误,如果产生错误,就显示您选择的友好值。
这样可以让您的电子表格保持整洁、专业。报告中不再散布着令人困惑的 #DIV/0! 等代码,而是显示空白或短横线等有帮助的文本。
在本课中,您将学习 IFERROR 的语法,以及如何将它应用到实际公式中。
IFERROR 语法
IFERROR 恰好接受两个参数:
- 值 要尝试的公式或计算
- 出错时的值 公式出错时要显示的内容
其形式为 =IFERROR(your_formula, fallback)。电子表格会先运行您的公式。如果公式正常运行,您会看到实际结果;如果公式出错,您会看到备用值。
=IFERROR(A2/B2, 0)替换除法错误
请记住,除以空单元格会产生 #DIV/0!。将除法包在 IFERROR 中可以修复显示结果。
在这里,如果 B2 为零或为空,公式会返回 0,而不是显示错误。如果 B2 包含真正的数字,就会执行正常的除法。
您也可以将两个引号 "" 作为备用值,从而返回空白。
=IFERROR(A2/B2, "")友好的查找提示
IFERROR 在查找中尤其有用。找不到匹配项的 VLOOKUP 会返回 #N/A,这可能会让读者感到困惑。
将查找包在 IFERROR 中,就可以将它替换为 "Not found" 这样的清晰提示。这样,任何阅读工作表的人都能立即理解结果。
这一项技巧可以让以查找为主的报告更容易理解、信任和分享。
=IFERROR(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")返回另一种计算结果
备用值不一定要是普通文本,也可以是另一个公式,在第一个公式失败时运行。
例如,如果主要查找没有找到结果,您可以改为在另一个表中执行备用查找。电子表格会先尝试第一个查找,只有在出错时才尝试第二个。
这样,您就可以优雅地依次尝试多个方案,而不会在中间显示难看的错误。
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), VLOOKUP(A2,Backup!A:B,2,0))IFERROR 会捕获所有错误
一个重要特性是:IFERROR 会捕获所有错误类型。无论公式产生的是 #DIV/0!、#N/A、#VALUE! 还是 #REF!,都会显示备用值。
这项功能很强大,但也需要注意。由于它会隐藏所有错误,IFERROR 可能会掩盖您本应了解的真实问题。
如果您只想隐藏查找不到结果的情况,IFNA 是更安全的选择,下一课将介绍它。
销售报告示例
假设您用本期减去上期,再除以上期来计算增长百分比。如果上期数值为零,新产品就会得到 #DIV/0!。
将公式包在 IFERROR 中,并使用文本 "New" 作为备用值,就能将这些错误转换为有意义的标签。已有产品显示实际百分比;全新产品显示 New。
现在,这份报告从上到下都清晰易读。
=IFERROR((B2-C2)/C2, "New")不要隐藏过多信息
由于 IFERROR 的作用范围很广,使用时请注意放置位置。如果将整个复杂公式都包在其中,由错误数据导致的 #VALUE! 错误可能会被悄悄替换。
这样一来,您可能会误信一个实际错误的数字。最佳做法是包住最可能出错的特定部分,而不是整个计算。
请有目的地使用 IFERROR,并在测试期间暂时移除它,以确认您的公式确实有效。
IFERROR 与空结果
一种常见的格式选择是在数据缺失时返回空字符串,让单元格看起来就是空白。
使用 "" 作为备用值,可以让图表和合计保持整洁,因为大多数函数会将看起来为空白的文本视为不可见内容。
不过请注意:存储 "" 的单元格从技术上说是文本,并非真正为空,这可能影响某些 COUNT 或图表行为。对于合计,返回 0 通常更安全。
=IFERROR(SUMIFS(Sales,Region,A2), 0)何时使用 IFERROR
当您希望为公式提供单一、简单的安全网,并且确定任何错误都是预期且无害的情况下,请使用 IFERROR。
适合使用它的情况包括除法比值、可选查找,以及新项目的增长计算。
如果您需要了解意外错误,或者只应处理一种特定错误类型,请避免使用它。对于查找,IFNA 可以提供更精细的控制,下一节将介绍它。
安全地嵌套 IFERROR
您可以将一个 IFERROR 放在另一个 IFERROR 中,以便按顺序尝试多个备用值。电子表格会先尝试第一个公式,然后是第二个,最后使用默认值。
在这里,公式会先在主表中查找,然后在备用表中查找;如果两处都没有找到,就返回 "Not found"。每一层只会在上一层出错时运行。
请保持嵌套层数较少,最多两到三层,否则公式会难以阅读和维护。
=IFERROR(VLOOKUP(A2,Main!A:B,2,0), IFERROR(VLOOKUP(A2,Backup!A:B,2,0), "Not found"))快速检查
测试您对 IFERROR 的理解。
回顾:IFERROR
您已经学习了通用的错误处理函数:
=IFERROR(value, value_if_error)会尝试运行公式,并在公式出错时显示备用值。- 它会捕获所有错误类型,因此请有目的地使用它。
- 备用值可以是文本、数字、空白
"",甚至可以是另一个公式。 - 请包住有风险的部分,而不是整个计算,这样真实问题仍然可见。
接下来您将认识 IFNA,它只针对 #N/A 查找错误。
常见问题解答
「使用 IFERROR 捕获错误」课时是免费的吗?
是的 — 「使用 IFERROR 捕获错误」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 IFERROR 捕获错误」这节课中我会学到什么?
使用 IFERROR 将任意错误替换为备用值 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「使用 IFERROR 捕获错误」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 了解错误类型
- 使用 IFERROR 捕获错误
- 使用 IFNA 定向处理缺失查找
- 使用 ISERROR 检测问题