您现在的位置: 万盛学电脑网 >> 办公软件 >> Excel教程 >> excel综合 >> 正文

Excel公式应用常见错误及处理

作者:佚名    责任编辑:admin    更新时间:2022-06-22

  在利用Excel完成任务的过程中,公式被使用得非常多,能够解决各种各样的问题。但是,这并不意味着公式的运用总会一帆风顺,如果我们运用函数和公式的时候稍微不仔细,公式就可能返回一些奇怪的错误代码,这可不是我们希望得到的结果。

  看到这些奇怪的错误代码,有的朋友可能会手忙脚乱,甚至感到烦躁。其实,任何错误均有它内在的原因,下面我们就通过实例剖析,和大家探讨根据公式返回错误值的代码识别错误的类型和原因,以及相应的处理方法,帮助朋友们轻松地应对各种常见错误。

  一、 #DIV/0! 错误

  常见原因:如果公式返回的错误值为“#DIV/0!”,这是因为在公式中有除数为零,或者有除数为空白的单元格(Excel把空白单元格也当作0)。

  处理方法:把除数改为非零的数值,或者用IF函数进行控制。具体方法请参见下面的实例。

  具体实例:如图1的所示的工作表,我们利用公式根据总价格和数量计算单价,在D2单元格中输入的公式为“=B2/C2”,把公式复制到D6单元格后,可以看到在D4、D5和D6单元格中返回了“#DIV/0!”错误值,原因是它们的除数为零或是空白单元格。

Excel公式应用常见错误及处理 三联

  假设我们知道“鼠标”的数量为“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)。

  选中D4单元格,输入公式“=IF(A1=12,这个数等于12,这个数不等于12)”,回车后出现“#NAME?”错误(如12),原因是引用文本时没有添加引号。

 

  修改的方法为:对引用的文本添加上引号,特别注意是英文状态下的引号。于是将公式改为“=IF(A1=12,"这个数等于12","这个数不等于12")”(如图13)。

  四、 #NUM!  错误

  常见原因:如果公式返回的错误值为“#NUM!”,这常常是因为如下几种原因:当公式需要数字型参数时,我们却给了它一个非数字型参数;给了公式一个无效的参数;公式返回的值太大或者太小。

  处理方法:根据公式的具体情况,逐一分析可能的原因并修正。

  具体实例:在如图14所示的工作表中,我们要求数字的平方根,在B2中输入公式“=SQRT(A2)”并复制到B4单元格,由于A4中的数字为“-16”,不能对负数开平方,这是个无效的参数,因此出现了“#NUM!”错误。修改的方法为把负数改为正数即可。

  五、 #VALUE 错误

  常见原因:如果公式返回的错误值为“#VALUE”,这常常是因为如下几种原因:文本类型的数据参与了数值运算,函数参数的数值类型不正确;函数的参数本应该是单一值,却提供了一个区域作为参数;输入一个数组公式时,忘记按Ctrl+Shift+Enter键。

  处理方法:更正相关的数据类型或参数类型;提供正确的参数;输入数组公式时,记得使用Ctrl+Shift+Enter键确定。

  具体实例:如图15的工作表,A2单元格中的“壹佰”是文本类型的,如果在B2中输入公式“=A2*2”,就把文本参与了数值运算,因此出错。改正方法为把文本改为数值即可。

  图16中,在A8输入公式“=SQRT(A5:A7)”,对于函数SQRT,它的参数必须为单一的参数,不能为区域,因此出错。改正方法为修改参数为单一的参数即可。

  如图17的工作表,如果要想用数组公式直接求出总价值,可以在E8单元格中输入公式“{=SUM(C3:C7*D3:D7)}”,注意其中的花 括号不是手工输入的,而是当输入完成后按下Ctrl+Shift+Enter键后,Excel自动添加的。如果输入后直接用Enter键确定,则会出现 “#VALUE”错误。