对症下药解决公式出错难题

2018-04-23 16:53愚人
电脑爱好者 2018年5期
关键词:数据类型单元格数据源

愚人

“#N/A”数据源引用有问题

Excel表格中,当函数或公式中没有可引用的数值时,就会显示出“N/A”。这是一个典型的数据源引用错误现象,比如我们常用的Vlookup函数,它的格式是“VLOOKUP(查找值,查找范围,查找列数,精确匹配或者近似匹配)”,其中的查找范围就是引用一个数据区域,如果这个区域数据引用错误就会出现#N/A提示。比如在下表中,缺勤天数是引用A2:B5的数据,但是将公式下拉的时候,引用区域会自动向下引用,如在E2公式会变为A3:B6,由于张三在A2,所以导致引用数据出错从而出现#N/A提示(图1)。

既然是引用数据出错,解决的方法自然是重新引用正确的数据源。以上述演示为例,引用的都是A2:B5的数据,只要将公式变为“=VLOOKUP(D3,$A$2:$B$5,2,0)”,对数据进行绝对引用即可解决问题(图2)。

“#REF!”公式引用无效单元格

函数都是通过引用不同单元格的数据实现高效运算的,但是如果引用了一些无效单元格,那么就会导致公式运行错误。比如对于设置好公式的模板,很多新手经常将包含公式的单元格任意复制,这样移动位置后会导致引用单元格错误。比如将原来的C2公式复制到B2,但是原来C2公式中就是引用B2的值,这样复制后公式就会出现引用无效,导致#REF!错误(图3)。

由于该错误的原因是由于引用无效单元格导致的,因此只要将公式中的无效引用更改为实际、有效的引用即可。比如上述例子,复制后使用SQRT函数是对A列的数值进行求根,因此只要将函数中引用的单元格指向A列数据即可(图4)。

“#NUM!”公式中引用了无效参数

在Excel中如果引用的参数无效,那么在公式中就会出现#NUM!。比如我们经常使用DATEDIF函数对日期进行运算。如根据员工离职时间计算其在职天数。默认情况下,离职时间要大于入职时间,但是在日期录入错误(在职、离职时间对换),此时函数会由于引用了无效的在职时间而出现#NUM!错误。解决方法则是检查引用的时间单元格,输入正确的离职时间(需要大于在职时间)即可(图5)。

“#VALUE!”参数数据类型不一致

Excel的函数是根据同一类型的数据进行运算的,如果参数的数据类型不一致就会导致#VALUE!错误的出现。比如在上述例子中,DATEDIF函数对日期数据进行运算,如果参与运算的数据不是日期格式,比如错误地将2017.2.1输入为217.2.1,这样由于输入不是标准的日期格式,在参与运算时就会出现#VALUE!了,此时就需要检查引用的数据类型是否一致,将其更正为同一类型即可(图6)。

“#NULL!”公式中使用了不正确的区域运算符

平时经常需要使用函数对特定区域数据进行求和,比如需要对A、C列的数据进行求和。如果直接在A7输入公式“=SUM(A1:A6 C1:C6)”进行求和,此时就会显示#NULL错误(图7),因为A、C列数据是不相交的两个区域,这样会导致区域运算失败。解决方法则是使用联合运算符,即“=SUM(A1:A6,C1:C6)”,即可正确求和。

当然常见的函数错误还有“#NAME?“(表示函数名称有错误,比如将SUM函数误写为SUN,只要更改为正确函数名称即可),“#DIV/0!”(表示除数函数中有为0或者空单元格,只要将这些单元格删除或者不在其中填充函数即可)。总之,在日常使用中如果遇到函数错误,Excel会在函数前方添加换色感叹号标记,大家可以移动鼠标到该标记上,根据显示的错误,然后利用Excel的帮助进行检查,采取对应的解决方案去修正错误即可(圖8)。

猜你喜欢
数据类型单元格数据源
详谈Java中的基本数据类型与引用数据类型
如何理解数据结构中的抽象数据类型
玩转方格
玩转方格
浅谈Excel中常见统计个数函数的用法
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
分布式异构数据源标准化查询设计与实现
范畴数据类型上的子类型*