下面我们就通过实例剖析,和大家探讨根据公式返回错误值的代码识别错误的类型和原因,以及相应的处理方法,帮助朋友们轻松地应对各种常见错误。 文章导读:
错误 | 常见原因 | 处理方法 | 实例剖析 |
#DIV/0! | 在公式中有除数为零,或者有除数为空白的单元格(Excel把空白单元格也当作0)。 | 把除数改为非零的数值,或者用IF函数进行控制。 | 实例 |
#N/A | 在公式使用查功能的函数(VLOOKUP、HLOOKUP、LOOKUP等)时,不到匹配的值。 | 检查被查的值,使之的确存在于查的数据表中的第一列。 | 实例 |
#NAME? | 在公式中使用了Excel无法识别的文本,例如函数的名称拼写错误,使用了没有被定义的区域或单元格名称,引用文本时没有加引号等。 | 根据具体的公式,逐步分析出现该错误的可能,并加以改正。 | 实例 |
#NUM! | 当公式需要数字型参数时,我们却给了它一个非数字型参数;给了公式一个无效的参数;公式返回的值太大或者太小。 | 根据公式的具体情况,逐一分析可能的原因并修正。 | 实例 |
#VALUE | 文本类型的数据参与了数值运算,函数参数的数值类型不正确; 函数的参数本应该是单一值,却提供了一个区域作为参数; 输入一个数组公式时,忘记按Ctrl+Shift+Enter键。 | 更正相关的数据类型或参数类型; 提供正确的参数; 输入数组公式时,记得使用Ctrl+Shift+Enter键确定。 | 实例 |
#REF! | 公式中使用了无效的单元格引用。通常如下这些操作会导致公式引用无效的单元格:删除了被公式引用的单元格;把公式复制到含有引用自身的单元格中。 | 避免导致引用无效的操作,如果已经出现错误,先撤销,然后用正确的方法操作。 | 实例 |
#NULL! | 使用了不正确的区域运算符或引用的单元格区域的交集为空。 | 改正区域运算符使之正确;更改引用使之相交。 | 实例 |
、 #DIV/0! 错误
常见原因:如果公式返回的错误值为“#DIV/0!”,这是因为在公式中有除数为零,或者有除数为空白的单元格(Excel把空白单元格也当作0)。
处理方法:把除数改为非零的数值,或者用IF函数进行控制。具体方法请参见下面的实例。
具体实例:如图1的所示的工作表,我们利用公式根据总价格和数量计算单价,在D2单元格中输入的公式为“=B2/C2”,把公式复制到D6单元格后,可以看到在D4、D5和D6单元格中返回了“#DIV/0!”错误值,原因是它们的除数为零或是空白单元格。
假设我们知道“鼠标”的数量为“6”,则在C4单元格中输入“6”,错误就会消失(如图2)。
假设我们暂时不知道“录音机”和“刻录机”的数量,又不希望D5、D6单元格中显示错误值,这时可以用IF函数进行控制。在D2单元格中输入公式“=IF(ISERROR(B2/C2),"",B2/C2)”,并复制到D6单元格。可以看到,D5和D6的错误值消失了,这是因为IF函数起了作用。整个公式的含义为:如果B2/C2返回错误的值,则返回一个空字符串,否则显示计算结果。
说明:其中ISERROR(value)函数的作用为检测参数value的值是否为错误值,如果是,函数返回值TRUE,反之返回值FALSE.。
二、 #N/A 错误
常见原因:如果公式返回的错误值为“#N/A”,这常常是因为在公式使用查功能的函数(VLOOKUP、HLOOKUP、LOOKUP等)时,不到匹配的值。
处理方法:检查被查的值,使之的确存在于查的数据表中的第一列。
具体实例:在如图4所示的工作表中,我们希望通过在A10单元格中输入学号,来查该名同学的英语成绩。B10单元格中的公式为“=VLOOKUP(A10,A2:E6,5,FALSE)”,我们在A10中输入了学号“107”由于这个学号,由于在A2:A6中并没有和它匹配的值,因此出现了“#N/A”错误。
如果要修正这个错误,则可以在A10单元格中输入一个A2:A6中存在的学号,如“102”,这时错误值就不见了(如图5)。
说明一:关于公式“=VLOOKUP(A10,A2:E6,5,FALSE)”中VLOOKUP的第四个参数,若为FALSE,则表示一定要求完全匹配lookup_value的值;若为TRUE,则表示如果不到完全匹配lookup_value的值,就使用小于等于 lookup_value 的最大值。
说明二:出现“#N/A”错误的原因还有其他一些,选中出现错误值的B10单元格后,会出现一个智能标记,单击这个标记,在弹出的菜单中选择“关于此错误的帮助”(如图6),就会得到这个错误的详细分析(如图7),通过这些原因和解决方法建议,我们就可以逐步去修正错误,这对其他的错误也适用。
三、 #NAME? 错误
常见原因:如果公式返回的错误值为“#NAME?”,这常常是因为在公式中使用了Excel无法识别的文本,例如函数的名称拼写错误,使用了没有被定义的区域或单元格名称,引用文本时没有加引号等。
处理方法:根据具体的公式,逐步分析出现该错误的可能,并加以改正,具体方法参见下面的实例。
具体实例:如图8所示的工作表,我们想求出A1:A3区域的平均数,在B4单元格输入的公式为“=aveage(A1:A3)”,回车后出现了“#NAME?”错误(如图8),这是因为函数“average”错误地拼写成了“aveage”,Excel无法识别,因此出错。把函数名称拼写正确即可修正错误。
选中C4单元格,输入公式“=AVERAGE(data)”,回车后也出现了“#NAME?”错误(如图9)。这是因为在这个公式中,我们使用了区域名称data,但是这个名称还没有被定义,所以出错。
改正的方法为:选中“A1:A3”单元格区域,再选择菜单“名称→定义”命令,打开“定义名称”对话框,在文本框中输入名称“data”单击“确定”按钮(如图10)。
返回Excel编辑窗口后,可以看到错误不见了(如图11)。
lookup函数返回值不对
选中D4单元格,输入公式“=IF(A1=12,这个数等于12,这个数不等于12)”,回车后出现“#NAME?”错误(如12),原因是引用文本时没有添加引号。
修改的方法为:对引用的文本添加上引号,特别注意是英文状态下的引号。于是将公式改为“=IF(A1=12,"这个数等于12","这个数不等于12")”(如图13)。
四、 #NUM! 错误
常见原因:如果公式返回的错误值为“#NUM!”,这常常是因为如下几种原因:当公式需要数字型参数时,我们却给了它一个非数字型参数;给了公式一个无效的参数;公式返回的值太大或者太小。
处理方法:根据公式的具体情况,逐一分析可能的原因并修正。
具体实例:在如图14所示的工作表中,我们要求数字的平方根,在B2中输入公式“=SQRT(A2)”并复制到B4单元格,由于A4中的数字为“-16”,不能对负数开平方,这是个无效的参数,因此出现了“#NUM!”错误。修改的方法为把负数改为正数即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论