夜雨聆风学习资料网

ARTICLE · 1336346

Excel 报错速查表:四个错误码,按「格子里显示什么」查

Excel 报错速查表:四个错误码,按「格子里显示什么」查

四个错误码分四篇讲完了。

#N/A 是没找到,#VALUE! 是类型不对,#REF! 是地址没了,#DIV/0! 是分母成了 0。

可你真在表里碰见一个错误码的时候,通常想不起来是哪一篇。

这篇不引入新东西,只做一件事:把四个码压成一张表,按「你格子里看见什么」查。

01 先说一句反常识:四个不够,经典错误码是七个

Excel 的经典错误码一共七个,我一次性摆出来,拿真表跑了一遍:

#NULL!
 → 1,两个区域没有交集

>

#DIV/0!
 → 2,除号后面是 0

>

#VALUE!
 → 3,参与运算的东西不是数

>

#REF!
 → 4,引用的格子被删了

>

#NAME?
 → 5,名字不认识(函数名拼错)

>

#NUM!
 → 6,数字算不出(比如负数开平方)

>

#N/A
 → 7,查找函数没找到

七行全是实跑出来的(=NA()、=1/0、="a"*1、=INDIRECT("nosuchsheet!A1")、=NOSUCHFN()、=SQRT(-1)、=SUM(A1:A2 A3:A4)),ERROR.TYPE 读回来的号就是右边这一列。

这一列号码不是冷知识:ERROR.TYPE 能把错误码读成一个数字。想在汇总表里按错误类型分类,一句 IF(ERROR.TYPE(A1)=7,"未匹配","其它") 就够。

(Excel 365 里动态数组那套还会多出别的错误码,不在本篇范围。)

日常九成九是中间那四个:#DIV/0!、#VALUE!、#REF!、#N/A。下面这张表就收这四个。

02 速查表:按「格子里显示什么」查,不按字母

这张表按「格子里显示什么」排,不按字母序。这张图长按就能存:

你看见
它在说什么
一步确认
先动哪儿
#N/A
查找函数在范围里没找到这个值
在源数据里搜一下这个值,搜不到就是真没有
数据
#VALUE!
有「不是数」的东西参与了运算
=ISNUMBER(那格)
 给 FALSE
数据 / 公式
#REF!
公式引用的格子被删掉了
点那格,看编辑栏里有没有 #REF! 四个字符
公式
#DIV/0!
除号后面那格是 0、空、或长得像 0 的文本
=LEN(分母那格)
 等于 0 就是空格子
数据

为什么不按字母排?因为字母序是给 Excel 排的,不是给你排的 —— #DIV/0! 排第一,可你最先遇到的往往是 #N/A。你手上唯一的线索是「格子里那几个字符」,所以入口只能是它。

配一句话记:#N/A 找不到、#VALUE! 算不了、#REF! 指不到、#DIV/0! 除不了。

03 三个坑:表上看不出来,但迟早会撞上

坑一:整列求和报的错,只是「最上面那个坏格」的错

这一节解决:一列里好几个坏格子,SUM 报的那个错到底代表谁。

同一个区域,我测了两遍,只是把两行的位置对调:

第一遍:#REF! 在 A1、#N/A 在 A2、100 在 A3 → =SUM(A1:A3) 报 #REF!

>

第二遍:把 A1、A2 的内容互换 → 同一条公式报 #N/A

它报的是先碰到的那个。 所以看见 SUM 报 #REF!,别以为整列都是删除遗留 —— 全列可能只有一个 #REF!,其余坏格子是别的原因。

要先知道坏了几个:=SUMPRODUCT(--ISERROR(范围)),实测七个错误码一次数出 7。

要先求和:=AGGREGATE(9,6,范围),忽略错误值,实测给 100 —— 同一个区域 SUM 是直接报错的。

坑二:错误码会被列宽截成一片井号

这一节解决:看见 ####,怎么判断它是「数字太长」还是「本来是个错误码」。

我把 #DIV/0! 那格按住列宽一档一档试:

列宽 3 → 只剩 ###

>

列宽 5 → #####

>

列宽 7 → 才完整显示 #DIV/0!

(井号有几个跟字号有关 —— 我用默认字体测同一件事,同样三档给的是 ## 和 ####。个数会变,结论不变。)

所以看见一排井号,先别判断是数字太长,把列拉宽两格再看。这是最容易被误判成「格式问题」的一类 —— 错误码被截断后,跟数字溢出的样子一模一样。

同一个 #DIV/0!,三种列宽下的样子

坑三:ISNA 只认一个,ISERROR 才认全部

七个错误码,三个判断函数,读数一张表

实测七个错误码,表现是分层的:

ISERROR
 → 七个全 TRUE

>

ISERR
 → 除 #N/A 之外全 TRUE

>

ISNA
 → 只有 #N/A 是 TRUE

所以「这格坏没坏」用 ISERROR;「专门找没匹配上的」才用 ISNA。这两个混用,会让你的检查公式漏掉另外六种错误码。

反过来还有一个更隐蔽的:=COUNTIF(范围,"*") 数非空,实测是 0 —— 星号不匹配错误值。整列全是错误码的时候,用它数「有几行有内容」会得到一个漂亮而错误的 0。要按错误码数,=COUNTIF(范围,"#REF!") 实测能准确给 1,四个码都能这么数。

04 30 秒判断:三步

第一步,先看编辑栏。#REF! 是唯一把错误写进公式的错误,编辑栏里能直接看见那四个字符 —— 看见就不用往下查了。

第二步,再看格子里显示什么。显示 #N/A,走查找函数那条线;显示 #VALUE! 又带绿三角,是文本混进了运算。

第三步,最后才看数据那格。=LEN(那格) 等于 0 是真空格;=ISBLANK() 分辨「真空白」和「公式造出来的空文本」。

顺序不能反:先公式,后数据。 反过来,你会先花半小时清洗数据,改完发现还是同一串字符。

05 这张表怎么用

三个场景,每种都会实际撞上:

一是存下来。 手机上撞见报错,翻相册比搜文章快。这篇的图就是为存相册做的。

二是对齐说法。 同事说「我那个格子坏了」,你能接一句「你那是 #N/A,去看看源数据里有没有这个人」—— 一句话就把「坏了」变成「能查的」。

三是判断要不要动数据。 这是最省时间的一刀:

#REF!
 → 病根在公式(引用的地址没了),改公式,别动数据

>

#VALUE!
 → 一半数据、一半公式

>

#N/A
、#DIV/0! → 多数是数据的问题

先分这一刀,能省掉一半返工。

最后

报错这一条线到这儿收口:四篇各讲一个码,加这张表做索引。

接下来换方向,讲一件看着最简单、其实被低估最多的事 —— 复制粘贴。多数人只用到 Ctrl+C 和 Ctrl+V 两个动作,可光「选择性粘贴」就有好几种用法,能把「多列变一列」「只贴数值不贴公式」「表格转置」这些看起来得写公式的活,两步做完。

这个号只写一件事:把 Excel 里那些「报错、算错、看着对其实错」的坑,一个个拆开讲清楚。

四个码里最容易被骂的是 #REF!。它一出现,往往意味着你确实删掉了某样东西 —— 而且删得没错,只是没意识到公式还连着它。

它其实在替 Excel 说一句话:这儿原来有个格子,现在没了。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料