夜雨聆风学习资料网

ARTICLE · 1233977

Excel ISERROR和IFERROR函数怎么屏蔽错误值

Excel ISERROR和IFERROR函数怎么屏蔽错误值

表格里出现 #N/A、#DIV/0! 这类错误值,打印和汇总都很难看。ISERROR 负责判断一个值是不是错误,IFERROR 负责在出错时换成你想显示的内容,两个函数配合就能把错误值干净地屏蔽掉。

一、先认清七种常见错误值

错误值
常见原因
#N/A
查找函数没找到匹配值
#DIV/0!
除数为零或为空(被除数为零不会报错)
#VALUE!
文本参与了数值运算
#REF!
引用的单元格被删除
#NAME?
函数名拼错或格式代码没加引号
#NUM!
数字超出范围,如负数开平方
#NULL!
区域引用之间缺少逗号

先知道错在哪,再决定要不要屏蔽,这一步比直接套公式更重要。

二、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),"两表都没有"))

五、四种屏蔽方案对比

函数
优点
缺点
适用场景
ISERROR + IF
所有版本都能用
公式长,要写两遍原公式
Excel 2003 等老版本
ISERR + IF
不会掩盖 #N/A
仍要写两遍公式
需保留查找失败提示
IFERROR
写法最短,一学就会
会掩盖真实错误,不利排查
报表美化、最终交付
IFNA
只处理 #N/A,定位精准
需要 2013 及以上版本
VLOOKUP 查不到

六、常见问题

套了 IFERROR 后数据全变空白?说明原公式一直在报错。先临时去掉 IFERROR 看真实错误,对照前面的表格找到原因,修好后再套回去。

屏蔽后的空文本影响求和吗?不影响,空文本在 SUM 里按 0 处理;但 COUNTA 会把空文本算作非空,需要计数时改用 COUNT。

WPS 表格支持吗?支持。ISERROR、IFERROR、IFNA 在 WPS 表格里的用法与 Excel 一致,输入 IFERROR 时同样有参数提示。

小结:判断错误用 ISERROR,处理错误用 IFERROR,只关心 #N/A 就用 IFNA;调试阶段别急着套 IFERROR,先看清错误原因再屏蔽。

相关学习资料