ARTICLE · 1233977
Excel ISERROR和IFERROR函数怎么屏蔽错误值
表格里出现 #N/A、#DIV/0! 这类错误值,打印和汇总都很难看。ISERROR 负责判断一个值是不是错误,IFERROR 负责在出错时换成你想显示的内容,两个函数配合就能把错误值干净地屏蔽掉。
一、先认清七种常见错误值
先知道错在哪,再决定要不要屏蔽,这一步比直接套公式更重要。
二、ISERROR:判断是不是错误
写法是 =ISERROR(值),是错误返回 TRUE,否则返回 FALSE。假设 A2 是销售额、B2 是数量:
=IF(ISERROR(A2/B2),"数据待补",A2/B2)
B2 为空时整除会报 #DIV/0!,加上这层判断就显示「数据待补」。
它的兄弟函数是 ISERR,区别只有一个:ISERR 遇到 #N/A 会返回 FALSE,而 ISERROR 对包括 #N/A 在内的所有错误值都返回 TRUE。
还想整列一眼看出哪些格子出错,可以新建一条条件格式规则,公式填 =ISERROR($A2),出错的行就会自动变色,比逐格判断更快。
三、IFERROR:出错就换成指定内容
Excel 2007 及以上版本可以用更短的写法:
=IFERROR(原公式,出错时显示的内容)
把上面的例子改写:
=IFERROR(A2/B2,"数据待补")
用在查找里最实用。假设 A2 是工号,要在表2里查姓名:
=IFERROR(VLOOKUP(A2,表2!$A:$B,2,0),"未找到")
查不到时不再满屏 #N/A,而是一眼看到「未找到」,后续统计和筛选都方便。
四、只想屏蔽 #N/A 就用 IFNA
如果只想处理「找不到」这一种情况,其他错误照旧暴露出来,用 IFNA 更精准:
=IFNA(VLOOKUP(A2,表2!$A:$B,2,0),"未找到")
多表连续查找也能嵌套,先查表1再查表2:
=IFERROR(VLOOKUP(A2,表1!$A:$B,2,0),IFERROR(VLOOKUP(A2,表2!$A:$B,2,0),"两表都没有"))
五、四种屏蔽方案对比
六、常见问题
套了 IFERROR 后数据全变空白?说明原公式一直在报错。先临时去掉 IFERROR 看真实错误,对照前面的表格找到原因,修好后再套回去。
屏蔽后的空文本影响求和吗?不影响,空文本在 SUM 里按 0 处理;但 COUNTA 会把空文本算作非空,需要计数时改用 COUNT。
WPS 表格支持吗?支持。ISERROR、IFERROR、IFNA 在 WPS 表格里的用法与 Excel 一致,输入 IFERROR 时同样有参数提示。
小结:判断错误用 ISERROR,处理错误用 IFERROR,只关心 #N/A 就用 IFNA;调试阶段别急着套 IFERROR,先看清错误原因再屏蔽。















































































