这种通常是因为公式中引用的单元格被删除或者被其他单元格移动过来覆盖掉了(用鼠标选中一个单元格或单元格区域,移动鼠标到选中区域的边缘,鼠标指针变成四向箭头时,按住鼠标移动选中区域到公式引用的单元格或区域,则公式中就会产生#REF!错误)。假如不知道原来引用的单元格地址,可能就比较麻烦了,因为你得重新检查一下公式,将#REF!替换为正确的单元格地址。 除了删除或覆盖单元格区域外,还有几种情况可能出现#REF!错误。比如以下公式: =VLOOKUP(C4,A9:B11,4,0) =INDEX(A8:B11,3,3) =INDIRECT("'[test.XLSX]Sheet1'!a1") 前两个公式都试图查找超出范围的区域,从而产生#REF!错误。 第三个公式引用关闭的工作簿,也会产生#REF!错误。 错误5:#NAME? 这个错误代码从字面意思也好理解,一个Name加一个问号,表示Excel在问你这是个什么名称呢?因为Excel它无法识别。 可能引起这个错误的情况有: 函数名称拼写错误; 使用了不存在的自定义函数; 使用了未定义的名称; 公式中的文本常量前后缺少英文的双引号; 区域引用拼写错误。 举个例子说明,你在自己的电脑上设置了加载宏,使用了自定义函数CountColorIf,但是当你把文件发给别人后,别人电脑上没有设置这个加载宏和自定义函数,那么在对方那里就显示#Name?错误。 错误6:#NUM! 这个错误常见的情况是,给公式输入了一个错误的参数,比如需要数字的参数但是没有提供数字,或者输入了错误的参数。在迭代计算函数不能得出正确的结果时,也会返回#NUM!错误。 错误7:#NULL! 当对不相交的两个区域求交集运算时,就会产生这种错误。也就是说,假如两个区域没有重叠的区域,但是你使用了空格这个区域交集的运算符,用SUM来求和,就会返回#NULL!。 错误8:###### 这个其实不属于错误值的一种,在这里列出来是因为很多人看到后觉得没有得到正确的结果,认为是一个错误。造成这种情况可能的原因: 列太窄,显示不了日期、时间格式; 负数的日期、时间; 数字太大或太小,超出了单元格最大宽度; 了解了他们怎么产生的,想必你也应该知道怎么去处理他们了吧? 屏蔽错误 有时候我们想屏蔽错误,可以用IfError或者IsError来处理。 IfError 只有两个参数,第一个参数是正常的公式,第二个参数表示当第一个参数的公式返回错误值时,最终IfError会返回什么内容。 IsError 只有一个参数,就是判断这个公式的返回结果是不是错误值。所以通常要加If来判断,从而返回想要的结果。 IsError可以识别 #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、 #NAME? 或 #NULL!这些错误类型(注意上文中最后一个样式######不属于错误类型中的一种),注意需要跟IsErr区分。IsErr可以识别除#N/A外的错误值。 所以我们只需要记住IsError和IfError就可以了。 本文由公众号 Excel轻松学 友情推荐