Excel中函数报错的类型名称及含义
- 2026-09-25 03:46:07
Excel中函数报错的类型名称规定均以#作为开头,一般以!作为结尾,只有#NAME?、#N/A例外(?结尾或无结尾符号)。此外,有时函数计算结果显示为####,并非公式报错,而是列宽不够,显示不下完整的计算结果,把列拉宽即可恢复。WPS表格的函数报错类型和Excel相同。报错类型一般有8种,含义如下:
【#NAME?】:Name,英文原意就是“名称、名字”,结尾的“?”意为Excel在问“这是什么名称?”,这里的“名称(name)”多指函数名称,也可以指其它名称拼写错误、没有找到这个名称,简单说就是Excel看不懂我们写在函数里的是什么东西的名字。比如把VLOOKUP错写成了VLOKUP;写了XLOOKUP但当前Excel版本没有这个函数,所以认不出来;单元格非法,比如ZZZ1超过了表格最大列,Excel就认不出这个表格名,因为逻辑上没有这个表格名(注意这种情况和#REF!不同,#REF!是指引用无效,见下文);文本忘记加双引号,比如=IF(A1>0,成功,失败),应该写为=IF(A1>0,"成功","失败"),如果写成前者,Excel就认不出第2、3两个参数是什么;标点符号的半角写成全角,比如=SUM(A1:A10)写成了=SUM(A1:A10),不过冒号这个错误WPS表格现在可以自动更正,但是引号还不可以。
【#N/A】:N/A就是Not Available的缩写,因为是两个单词的缩写,所以加“/”符号。英文原意就是“无法得到、无法获取、不可用”,即没有获得匹配结果,指经过查找后没有和函数的要求相匹配的单元格,也就是找不到可用的(符合的)数据。比如VLOOKUP查找函数,没有在目标单元格区域内找到符合要求的单元格,就无法返回具体数据,而是显示#N/A。
【#REF!】:Ref就是Reference,英文原意就是“引用”,指引用无效、引用失效,是被引用的单元格不可用(单元格不存在),一般就是指原先存在但被删除,比如表格1的函数引用了表格2的某个单元格,但是后来表格2被删掉了,删掉后表格1的函数就无法引用表格2的单元格,会显示#REF!;或者把被引用单元格的表格名称写错了,写成了不存在的表格,比如=SUM(A1,Sheet2!A1),是指将本表A1和Sheet2的A1相加,如果错写成=SUM(A1,Sheet5!A1),而实际又没有Sheet5,就会显示#REF!。要注意的是,被引用单元格的地址在逻辑上是可能存在的,才可能显示#REF!,也就是“可找而不得”;如果该地址在逻辑上本身就不存在,则不是显示#REF!,就是“不可找”。比如=SUM(A2,A1111111),因为A1111111超过了表格最大行,这个单元格逻辑上本身就不存在,因此结果显示的是#NAME?(前述的ZZZ1也是同样的道理)。
【#VALUE!】:Value,英文原意就是“数值”,指的是数值类型不正确,比如把文本当成数字计算,就会显示#VALUE!。
【#DIV/0!】:Div就是Divide,英文原意就是“除法”,“/0”是除以零的意思,也就是表示除法除以零,因此无法计算。比如=A1/B1,B1如果等于0,就会报错#DIV/0!。
【#NUM!】:Num就是Number,英文原意为“数字”,指数字非法、数值超出范围,比如负数开平方,单元格中输入=SQRT(-1)就会报错#NUM!;日期超出范围(例如年份超过9999),比如=DATE(10000,1,1),指把分开的年、月、日数字组合成日期,因为公元10000年超过公元9999年,超过Excel中日期的年份数值范围,就显示#NUM!(不过如果被引用的单元格是10000/1/1,另一单元格输入函数引用该单元格进行计算,则是显示#VALUE!,因为此时的错误是被引用的单元格的数值类型不对)。逻辑上来说#DIV/0!就是#NUM!的一种类型,不过#DIV/0!发生得比较多,所以单独设立了错误类型。
【#NULL!】:Null,英文原意为“空、无、空交集”,指无交集区域(无公共单元格),也就是没有可用于函数计算的区域,比如=SUM(A1:C5 B3:D6),这个函数表示对A1:C5和B3:D6两块区域重叠部分的数值进行加总,因为A1:C5和B3:D6在B3:C5区域有交集(有公共单元格),所以可以计算。如果公式变为=SUM(A1:B5 C1:D5),因为A1:B5和C1:D5这两块区域之间无交集(无公共单元格),所以无法计算,就会报错#NULL!,提示没有公共单元格。
【#SPILL!】:Spill,英文原意“漫出、溢出、铺开”,指函数的计算结果要在一定范围内的格子中自动铺开、填充(这类函数会算出一片结果,且需要放在多个格子中,而一般的函数只在当前格子输出结果),但铺开范围(也叫溢出区域)内的单元格中本身有数据内容(除了明显肉眼可见有数据的情况,还有看不见的空格、隐形字符等情况,需要注意排查),此时该溢出函数不会直接铺开覆盖,而是报错提示溢出存在问题(无法铺开),需要操作者先确保铺开范围内的单元格中均为空(没有内容)。比如A1=30,A2=20,A3=10,此时在B1输入=SORT(A1:A3),意思是对A1:A3的数据升序排列,此时正确的计算结果会显示B1=10,B2=20,B3=30,但是如果输入=SORT(A1:A3)前B2单元格或B3单元格中有内容,则输入SORT函数后B1就会显示#SPILL!,表示铺开范围内的单元格中有内容,无法正常铺开。此外,把spill翻译为溢出,容易让人理解为是数值超限一类的意思,造成理解上的困难(因为函数溢出本身并不是错误,函数无法溢出铺开才是),不如翻译为“铺开、扩散、填充”好。
