夜雨聆风学习资料网

ARTICLE · 1005085

Excel#NUM! 报错是什么意思? 四种排查及解决办法

Excel#NUM! 报错是什么意思? 四种排查及解决办法
SERIES · 表格报错不求人2026.09

蹦出一个 #NUM!,整张表查半天?

#NUM! 到底在说什么

四种成因一次说清

表格报错不求人 · 系列 01 · 参数/求解/上限/日期

土拉 · Excel 效率指南

EXCEL报错排查

📦 3 Parts + Conclusion

👉 滑动

PART 01

先认识 #NUM!

它和其他错误值

PART 02

四种常见成因

逐个拆开看

PART 03

三步定位收尾

从查到修

PART ///

写在最后

报错不求人

EXCEL 效率指南

看懂错误值,比多背几个公式有用

公式检查了三遍,括号一个不差,回车之后还是蹦出一个 #NUM!。盯着屏幕,不知道从哪一格开始查。

这是「表格报错不求人」系列的第 1 篇。我们不背函数,只做一件事:把每个错误值到底在说什么讲清楚。今天先拆最常见也最容易被误判的 #NUM!。

01

PART

先搞懂 #NUM! 在说什么

READ THE ERROR · 先读懂再动手

#NUM! 里那个 NUM 就是 number。它想说的是:公式里关于「数字」的环节出问题了——不是引用的单元格坏了,也不是函数名写错了,而是数字本身不在 Excel 能接受的范围内。

先把几个长得像的错误值分清楚,能省掉一大半排查时间:

错误值
它在说什么
典型场景
#NUM!
数字有问题
参数非法、结果越界
#VALUE!
数据类型不对
拿文本去做加减
#REF!
引用失效了
删掉了被引用的行或列
#N/A
找不到这个值
VLOOKUP 查不到匹配项
#DIV/0!
除数为零
分母是空的或 0

一句话记住:看到 #NUM! 先别改公式结构,去看数字本身——参数是不是超范围、结果是不是太大、日期是不是算出了负数。往下四种成因,覆盖了日常九成以上的情况。

02

PART

四种最常见的成因,逐个拆

FOUR CAUSES · 对号入座

下面四种场景,基本覆盖了日常办公里能遇到的 #NUM!。看到报错时先对号入座,比从头检查公式快得多。

原因 01

参数超出了函数允许的范围

开方、对数这类函数对参数有硬性要求。负数、零一旦填进去,Excel 不会替你猜,直接回一个 #NUM!。

...excel

=SQRT(-4) 负数没有实数平方根 → #NUM!

=LN(-1) 对数要求参数大于 0 → #NUM!

=COMBIN(5,10) 取的数比总数还多 → #NUM!

✦ 怎么解决:先回头看数据源里有没有不该出现的负数或零。确实要处理负数,可以改用 =SQRT(ABS(A2)) 取绝对值再开方,或者加一层判断 =IF(A2<0,"跳过",SQRT(A2))。

原因 02

迭代函数试到最后也没找到答案

IRR、RATE 这类函数不是“算”出来的,是一遍遍试出来的。如果现金流全是收入、或者全是支出,数学上根本不存在一个能让结果归零的利率,它试到最后只能认输,回一个 #NUM!。

...excel

=IRR(B2:B10) 现金流全同号 → #NUM!

=IRR(B2:B10,0.1) 给个初值,成功率大增

=RATE(60,2000,100000) 参数不自洽 → #NUM!

✦ 怎么解决:给函数一个合理的猜测初值——等于告诉 Excel「往这个方向找」。同时确认现金流里确实有正有负,没有一正一负,公式再换写法也没用。

原因 03

结果太大,超了 Excel 的数值天花板

Excel 单个数值最大只能到 10 的 308 次方左右。一旦计算结果冲破这条线,它不会给你一个“无穷大”,而是直接判为 #NUM!。

...excel

=POWER(10,400) 10 的 400 次方 → #NUM!

=FACT(1000) 1000 的阶乘 → #NUM!

=A2*B2*C2 连乘撞上天花板 → #NUM!

✦ 怎么解决:八成是单位搞重了——比如数值本身已经是「万元」,公式里又乘了一次 10000。回头核对一遍单位,比查函数快。真要处理大数,可以用对数先压缩再算。

原因 04

日期算出了范围外的结果

Excel 的日期本质是一串序列号,只覆盖 1900 年 1 月 1 日到 9999 年 12 月 31 日。减法把结果算成负数,或者加法冲过了 9999 年,日期类函数就只能回一个 #NUM!。

...excel

=A2-B2 结果是负日期 → #NUM!

=EDATE(A2,-30000) 退到 1900 年之前 → #NUM!

=YEAR(-1) 传入负数序列号 → #NUM!

✦ 怎么解决:先用 =ISNUMBER(A2) 确认单元格里是真日期、不是文本;再检查相减的两个单元格顺序有没有弄反。只是要比早晚,写成 =IF(A2>B2,"逾期","未到期") 就行,根本不用做加法减法。

03

PART

三步定位,把问题揪出来

LOCATE & FIX · 从查到修

成因认完了,还得落到具体那一格。下面三步是通用的排查动作,任何错误值都用得上。

STEP 01

点中报错单元格,看编辑栏

选中那一格,看编辑栏里的完整公式,先弄明白它到底在算什么;再顺着公式去看它引用的区域——数据源里有没有负数和零。

✦ 一个好用的手感:在编辑栏里用鼠标选中公式的一小段(比如 SQRT(B2) 这一小段),按 F9,Excel 会就地算出这一段的结果。看完按 Esc 退出——千万别按回车。

STEP 02

把嵌套的那层拆出来单算

公式里套了好几层函数时,把最里面那一层单独拎出来,放到一个空白单元格里算一遍。哪一层先报 #NUM!,问题就在哪一层,不用再从头猜。

STEP 03

修好根因,再考虑兜底

原因解决了,如果这张表还要发给同事看,可以再套一层 IFERROR,让报错位置显示得更友好:

...excel

=IFERROR(原公式,"待核对")

!踩坑提示 🕳

IFERROR 是兜底展示,不是修复手段。原因没查清就套上去,报错是被藏起来了,数字照样是错的——先定位,再决定要不要包这一层。

看懂 #NUM!,一秒知道该查哪里

参数 · 求解 · 上限 · 日期,四个方向挨个对

///

LAST

写在最后

SUMMARY · 报错不求人 01

错误值不是 Excel 在刁难你,它是在提醒你「这一步的数字不对」。#NUM! 记住四个关键词就够了:参数、求解、上限、日期——挨个对一遍,基本都能自己修好,不用再截图发群里等人回答。

这是「表格报错不求人」的第 1 篇,后面还会继续拆 #VALUE!、#REF!、#N/A、#DIV/0!,想看哪个可以先留言告诉我。

是不是很简单?

我是土拉,专注工作提效的公众号。精选Windows软件工具,Excel函数公式、Word排版技巧教程,每篇一个能立刻上手的小技巧。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

相关学习资料