ARTICLE · 1336348
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(那格) | ||
#REF! | #REF! 四个字符 | ||
#DIV/0! | =LEN(分母那格) |
为什么不按字母排?因为字母序是给 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 说一句话:这儿原来有个格子,现在没了。














































































