在Excel公式定义的过程中,难免会出现一些错误。
在Excel公式定义中,一旦发生错误,就会有特定的信息提示,掌握这些错误提示信息,有助于我们对错误的修正。
-
数值转换
在Excel中数据有数据类型,如数值型、字符型、日期型、逻辑型等等。
在Excel的公式计算中,每一种运算符都与特定类型的数据相对应,如算术运算符与数值类型对应,文本连接符与字符型数据对应。一旦在Excel的公式中出现运算符与运算数类型不同,那么Excel会根据运算符需要的类型将运算数进行类型转换。但也有一些情况下Excel不能将错误的数据类型进行转换。
表1说明了Excel数据转换功能。
含错误数据类型的公式
|
运算结果
|
结果说明
|
=”1”+2
|
3
|
将字符“1”转换为数字1
|
=”99/12/31”-“99/12/1”
|
30
|
将日期型数据转换为数字型数据
|
=1&”999”
|
“1999”
|
数字型数据转换为字符型
|
=”A”&true
|
“Atrue”
|
逻辑型转换为字符型
|
=2+”3+4”
|
#VALUE!
|
返回错误类型,因为不能将”3+4”转换为数字型
|
表1
注意:
在Excel中,字符串用双引号括起来,双引号必须用英文引号,不能是中文双引号。如果用户是处于中文输入情况下,一定要确认输入的是英文的双引号。
2. 输入公式时常见错误
下表概括了在日常Excel公式的定义最常见的一些错误:
请确保...
|
详细信息
|
每个函数都以等号(=) 开头
|
如果省略等号(=),则键入的内容会显示为文本或日期。例如,如果键入 SUM(A1:A10),则会显示文本字符串 SUM(A1:A10) 并且不会执行计算。如果键入 11/2,则 Excel 就会显示 11-2,而不是 11 除以 2。
|
所有左括号和右括号匹配,且不能为中文括号
|
请确保所有括号都成对出现。创建公式时,Excel 在输入括号时将括号显示为彩色。
|
用冒号(:)表示区域
|
引用单元格区域时,请使用冒号 (:) 分隔对单元格区域中第一个单元格的引用和对最后一个单元格的引用。例如,A1:A5。
|
输入所有必需参数
|
有些函数包含必需的参数。此外,还要确保没有输入过多的参数。
|
输入正确类型的参数
|
有些函数(例如 SUM)要求使用数字参数。而有些函数(例如 REPLACE)则要求其至少有一个参数为文本值。如果将错误类型的数据用作参数,则 Excel 就可能会返回意外结果或显示错误。
|
将其他工作表名称包含在单引号中
|
如果公式中引用了其他工作表或工作簿中的值或单元格,并且这些工作簿或工作表的名称中包含非字母字符,那么必须用单引号 (') 将其名称引起来。
|
包含外部工作簿路径
|
请确保每个外部工作簿引用都包含工作簿的名称和路径。
|
输入无格式的数字
|
在公式中输入数字时,不要为数字设置格式。例如,即使要输入的值是 ¥1,000,也应在公式中输入 1000。
|
表2
3. 公式中的错误信息
在公式输入中经常会出现输入错误。假如需要数字的公式中使用文本、删除了被公式引用的单元格,或者使用了宽度不足以显示结果的单元格等,这些都将产生错误值。这时Excel会在输出的单元格中显示错误信息,用户可以通过这些错误信息去查询修改公式。
表3列出了常见的公式错误信息及解决办法。
错误值
|
产生原因
|
解决方法
|
示例
|
示例解析
|
######
|
单元格所含的数字、日期和时间比单元格宽或单元格的日期时间公式产生了一个负值
|
增加列宽;应用不同的数字格式;保证日期与时间公式的正确性
|
在单元格中输入:“= -Today()”
|
Today()函数是取今天的日期,前面加“-”号,系统将返回错误
|
#VALUE!
|
在需要数字或逻辑值时输入了文本
输入和编辑的是数组公式,然后按Enter键
|
确定公式或函数所需的运算符或参数正确,并且公式引用的单元格中包含有效的数值
选定包含数字公式的单元格或单元格区域然后按Ctrl+shift+Enter组合键
|
在单元格输入:“2+”3+4””
|
”3+4”无法转换为数字型
|
#div/0!
|
当公式中出现被0除时
|
修改原公式的除数为非0数
|
在单元格中输入:“=3/0”
|
0作为了除数
|
#name?
|
在公式中使用Excel不能识别的文本
|
确认使用的名称确实存在;修改拼写错误
|
在单元格中输入:“=2&a”
|
字符a没有加双引号,Excel误认为是域名。如果a是字符,则需要加双引号,如果是域名,则需要先定义
|
#N/A
|
当在函数或公式中没有可用数值时,将产生该错误值
|
在函数或公式中引用的单元格内输入数据
|
在单元格中输入:=VLOOKUP('aaa', B1:C3,2,0)
|
Vlookup是查找函数,在B1:C3区域的第1列去查找“aaa”,没找到则会返回#N/A错误信号。
|
#REF!
|
单元格引用无效
|
更改公式或者在删除或粘贴单元格之后立即单击“撤销”按钮以恢复工作表中的单元格
|
在单元格中输入:“=sheet4!a1”,然后按Enter确定。如果弹出对话框,按Esc退出即可。
|
本示例假定不存在表sheet4,如果输入该公式,因为sheet4不存在,所以返回引用无效的错误。
|
#NUM!
|
公式或函数中某个数字有问题
|
确认函数中使用的参数类型正确;为工作表函数试用不同的初始值
|
在A1中输入-1,在A2单元格中输入:“=A1^0.5”
|
因为A1是负数,所以无法求其平方根
|
#NULL!
|
试图为两个并不相交的区域指定交叉点
|
如果要引用两个不相交的区域,请使用联合运算符——逗号(,)
|
在单元格C1中输入:“=SUM(A1 B1)”
|
因为A1和B1不相交,在A1和B1中间添加“,”联合这两个区域
|
表3
|