-
Excel的报错类型与处理方式(IFERROR函数及规避打印)
-
我们使用Excel处理数据时,经常会遇到一些错误值,这些错误值会在不同情况下出现,当然也代表不同的含义,每个错误值都有不同的原因和解决方法。
文档说明:本文在 Windows 10环境下测试与编辑,使用的 Excel 版本为 2016。经测试,本文内容对 2010、2013、2016 版本的 Excel 均有效!
Excel中,计算可能得出的错误类型有:#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、 #NAME? 或 #NULL!,加上一个非计算的错误“####”,一共8个。
一、“####”:列不够宽,或者使用了负日期或时间
1.当列宽不足以显示内容时,可以通过以下几种方法纠正:
(1)缩小内容文字大小适应列宽;
(2)调整列宽,或直接选中列后双击列标题右侧的边界;
(3)更改单元格的数字格式,使数字适合现有单元格宽度。例如,可以减少小数点后的小数位数。
2.当日期和时间为负数时,可以通过以下几种方法纠正:
(1)如果使用的是1900日期系统,那么日期和时间必须为正值;
(2)如果对日期和时间进行减法运算,应确保建立的公式是正确的;
(3)如果公式是正确的,但结果仍然是负值,可以通过将相应单元格的格式设置为非日期或时间格式来显示该值。
注意:本错误不属于计算错误,而是因为列宽不够或日期运算的问题,与下面的七个错误代码不一样。
二、“#N/A”:数值对函数或公式不可用
具体表现在:
(1)缺少数据,在其位置输入了“#N/A”或“NA()”;
(2)在未排序的表中使用了VLOOKUP、HLOOKUP或MACTCH工作表函数来查找值;
(3)为HLOOKUP、LOOKUP、MATCH或VLOOKUP工作表函数的lookup_value参数赋予了不正确的值;
(4)数组公式中使用的参数的行数或列数与包含数组公式的区域的行数或列数不一致;
(5)使用的自定义工作表函数不可用;
(6)内置或自定义工作表函数中省略了一个或多个必需参数;
(7)运行的宏程序所输入的函数返回“#N/A”。
三、“#VALUE!”:使用的参数或操作数据的类型不正确
可能包含以下一种或几种错误:
(1)当公式需要数字或逻辑值(例如TURE或FALSE)时,却输入了文本;
(2)输入或编辑数组公式,没有按组合键Ctrl+Shift+Enter,而是按了Enter键;
(3)将单元格引用、公式或函数作为数组常量输入;
(4)为需要单个值(而不是区域)的运算符或函数提供区域;
(5)在某个矩阵工作表函数中使用了无效的矩阵;
(6)运行的宏程序所输入的函数返回“#VALUE!”。
我们根据具体情况分析后,解决即可。
四、“#REF!”:单元格引用无效
具体表现在:
(1)删除了其他公式所引起的单元格,或将已移动的单元格粘贴到了其他公式所引起的单元格上;
(2)使用的对象链接和嵌入链接所指向的程序未运行;
(3)链接到了不可用的动态数据交换(DDE)主题,如“系统”;
(4)运行的宏程序所输入的函数返回“#REF!”。
五、“#DIV/0!”:使用数字除以零(0)
具体表现在:
(1)输入的公式中包含明显的除以零的计算,如”=5/0″;
(2)使用了对空白单元格或包含零作为除数的单元格的单元格引用;
(3)运行的宏中使用了返回“#DIV/0!”的函数或公式。
同样根据以上情况,分析后解决。
六、“#NUM!”:公式或函数中使用了无效的数值
具体表现在:
(1)在需要数字参数的函数中使用了无法接受的参数;
(2)使用了进行迭代的工作表函数(如IRR或RATE),且函数无法得到结果;
(3)输入的公式所得出的数字太大或太小,无法在Excel中表示。
七、“#NULL!”:区域不相交或运算符错误
具体表现在:
(1)使用了不正确的区域运算符.
(2)区域不相交.
提示:多见于引用之间的交叉运算符为“空格”。
八、“#NAME?”:无法识别公式中的文本
具体表现在:
(1)名称或函数名称拼写错误;
(2)使用了不存在的名称;
(3)在公式中输入文本时没有使用双引号;
(4)区域引用中漏掉了冒号;
(5)引用的另一张工作表未使用的单引号引起;
(6)打开调用用户自定义函数(UDP)的工作薄;
(7)使用了EUROCONVERT函数,而没有加载“欧元转换工具”宏。
IFERROR函数
并不是所有错误代码(返回值)都是计算错误,我们在进行数据处理时,这些错误代表的就是本身的结果,但是我们不希望看到的是代码,而应该看到的是文字说明。这个时候,我们就应该用到IFERROR函数。
我们先来看看Excel帮助信息中,关于“IFERROR”的说明:
说明
如果公式的计算结果错误,则返回您指定的值;否则返回公式的结果。 使用 IFERROR 函数可捕获和处理公式中的错误。
语法
IFERROR(value, value_if_error)
IFERROR 函数语法具有下列参数:
备注
示例
根据下表中的示例数据,然后将其输入到新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。
当然,我们还可以通过 if 等函数规避或清除错误代码。
打印时如何“规避”这些错误代码
在 Excel 的实操中,经常会出现报错的情况,诸如第二至八种的错误代码(下面的设置对第一种“####”的错误无效),但是我们在打印时又不希望看到这些内容,这个时候,我们需要在“页面设置”弹框的“工作表”选项卡中将“错误单元格打印为”设置为“空白”,如图:
设置好后,打印结果就不会有错误代码,演示如下:
本文摘自:https://www.office26.com/excel/excel_3999.html,感谢原作者