使用 ISERROR 检测问题
执行操作前,先判断单元格是否包含错误
使用 ISERROR 检测问题 是 CoddyKit 上的免费 Excel Formulas Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Excel Formulas Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Excel Formulas Academy 课程共包含 4 节课。
测试错误
有时,您不想替换错误,而是想判断错误是否存在,然后决定如何处理。
ISERROR 函数正是这样做的。它检查单元格或公式:如果结果是错误,则返回 TRUE;如果结果正常,则返回 FALSE。
这样,您就可以构建自定义处理逻辑、统计错误,或标记有问题的行。本课将介绍 ISERROR 及其相关函数。
ISERROR 语法
ISERROR 接受一个参数,即要测试的值或公式:
=ISERROR(value)
当值属于任何一种错误时,它会返回逻辑值 TRUE;否则返回 FALSE。它不会显示错误本身,只会给出清晰的 TRUE 或 FALSE 结果。
单独使用时,它只能提供信息。与 IF 结合后,它才能真正发挥作用。
=ISERROR(A2/B2)将 ISERROR 与 IF 结合使用
将 ISERROR 与 IF 结合起来,可以构建完全自定义的错误处理逻辑。IF 会测试是否存在错误,然后选择在两种情况下分别显示的内容。
在这里,如果除法产生错误,公式会返回 "Check data";否则返回真实结果。这相当于手动实现 IFERROR,但两个分支都由您控制。
其模式为 =IF(ISERROR(formula), do_this, else_show_formula)。
=IF(ISERROR(A2/B2), "Check data", A2/B2)IS 错误系列
ISERROR 有几个用于测试特定错误的相关函数:
ISERR对除 #N/A 之外的任何错误返回 TRUE。ISNA仅对 #N/A 错误返回 TRUE。ISERROR对所有错误(包括 #N/A)返回 TRUE。
选择正确的函数后,您就能只针对所关心的情况做出响应,这与 IFERROR 和 IFNA 之间的区别很相似。
专门使用 ISNA
当您只关心未匹配的查找时,ISNA 是最精准的测试函数。它仅对 #N/A 返回 TRUE。
它可以在较旧的电子表格中重现 IFNA 的行为,也可以让您在查找未匹配时执行自定义操作,例如将结果写入另一列。
这里的公式会报告是否找到了客户。
=IF(ISNA(VLOOKUP(A2,Data!A:B,2,FALSE)), "New customer", "Existing")统计区域中的错误
ISERROR 对审查数据很有用。要统计某列中包含错误的单元格数量,可以将它与 SUMPRODUCT 结合使用。
由于 ISERROR 返回 TRUE 或 FALSE,双重负号 -- 会将它们转换为 1 和 0,然后由 SUMPRODUCT 将它们相加。
结果会告诉您存在多少个错误单元格,这是检查大型数据集状态的快捷方法。
=SUMPRODUCT(--ISERROR(C2:C100))标记问题行
您可以使用 ISERROR 在数据旁边添加清晰的警告列。每一行都会检查自己的计算结果,并在出现问题时显示标记。
在这里,总计产生错误的行会显示警告符号,而没有错误的行保持空白。查看标记列即可立即发现问题所在。
这比用肉眼在分散的数据中寻找 #DIV/0! 代码友好得多。
=IF(ISERROR(D2), "!", "")ISERROR 与 IFERROR 的比较
了解两者的关系会很有帮助:
IFERROR(x, y)是一种快捷写法,只运行x一次,并在发生错误时返回y。IF(ISERROR(x), y, x)的效果相同,但会对x求值两次,因此在复杂公式中可能更慢。
因此,对于简单的替换,IFERROR 通常更好。当您需要测试而不是替换,或需要执行不同于替换值的操作时,请使用 ISERROR。
使用 ISERROR 设置条件格式
ISERROR 还可以用于条件格式。您可以编写一条规则,突出显示公式返回错误的所有单元格。
将规则公式设置为 =ISERROR(A1),应用到整个区域,并将匹配的单元格设置为红色。
这样,错误一出现就会以视觉方式突出显示,同时完全不会改变单元格的值。这是一种清晰且不破坏数据的工作表监控方式。
=ISERROR(A1)将错误记录到日志
由于 ISERROR 返回清晰的 TRUE 或 FALSE,您可以利用它将问题值导向有用的位置。将它与 IF 结合起来,只把失败的键复制到审查列中。
在这里,如果某个键的查找产生错误,公式就会将该键本身写入单元格;否则让单元格保持空白。
筛选该列后,您就能得到一份现成的列表,其中包含所有需要修复的键,从而将错误处理变成行动计划。
=IF(ISERROR(VLOOKUP(A2,Data!A:B,2,FALSE)), A2, "")选择合适的工具
以下是完整的错误处理工具集:
- IFERROR 将任何错误替换为回退值。
- IFNA 仅替换查找产生的 #N/A。
- ISERROR / ISNA / ISERR 测试错误,以驱动自定义逻辑、统计或格式设置。
如果您只想显示整洁的结果,请选择替换函数;如果您需要根据错误做出判断或进行统计,请选择 IS 系列函数。
快速检查
测试您对错误测试函数的理解。
回顾:ISERROR
您已经掌握了完整的错误处理工具集:
=ISERROR(value)对任何错误返回 TRUE,否则返回 FALSE。ISNA仅测试 #N/A;ISERR测试除 #N/A 之外的所有错误。- 将它与 IF 结合进行自定义处理,与 SUMPRODUCT 结合统计错误,或与条件格式结合突出显示错误。
- 使用 IFERROR 或 IFNA 进行简单替换;使用 IS 系列函数进行测试和判断。
现在,您的电子表格可以保持整洁、准确且专业。
常见问题解答
「使用 ISERROR 检测问题」课时是免费的吗?
是的 — 「使用 ISERROR 检测问题」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Excel Formulas Academy 课程的其余内容,请升级到 CoddyKit PRO。 Excel Formulas Academy 课程共包含 4 节课。
「使用 ISERROR 检测问题」这节课中我会学到什么?
执行操作前,先判断单元格是否包含错误 你通过在浏览器中直接运行的动手代码来练习 Excel Formulas Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Excel Formulas Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Excel Formulas Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「使用 ISERROR 检测问题」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Excel Formulas Academy 课中编写并运行代码吗?
能。每节 Excel Formulas Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 了解错误类型
- 使用 IFERROR 捕获错误
- 使用 IFNA 定向处理缺失查找
- 使用 ISERROR 检测问题