VLOOKUP之深入解析查询过程中#N/A出现的N种原因(二)

想第一时间收到最新知识,可关注微信公众号:黑米粥的世界。

欢迎加入QQ群782200398获取案例


昨天给大家分享了VLOOKUP函数的两种基础用法:精确查找与模糊匹配,还没掌握的小伙伴点此回顾:

全面掌握VLOOKUP函数各类用法(一)


在使用Vlookup函数时,经常会出现错误值#N/A。那么究竟出现#N/A的原因是什么,我们应该从哪些方面去排查错误呢?接下来给大家深入解析查询过程中出现#N/A错误值的几个原因。


①  查无此人

#N/A 错误通常表示公式找不到要求查找的内容,比如查询D的成绩,但数据源中不存在对象D,故返回#N/A:


这种情况下,为避免错误值影响表格的美观以及后续的计算,可通过Iferror函数,将错误值替换为文字或数值信息:

语法:=IFERROR(表达式,用于替换错误值的内容)



②  数据源引用错误

如果排除了第一个原因依旧返回错误值,这时候你就应该检查一下你的公式啦!


1、检查数据源是否引用正确

如下图:通过姓名查找分数,数据源是从A(序号)列开始选择的,没有满足数据源首列必须包含查找依据这个要求,所以返回#N/A错误值,正确的公式应该是:

=VLOOKUP(E2,B1:C4,2,0)



2、检查数据源是否有绝对引用

如下图,查询姓名C时数据源选择为B2:C4,公式往下复制后,数据源由于相对引用变成了B3:C5,导致A查询不到结果。一般情况下,进行数据查询时是在一个固定不变的范围中,因此需要将数据范围进行绝对引用。



③  查找值或数据源中包含其他字符

进行查找时,要求查找值与数据源对象内容必须完全一致,因此如果你的查找值或数据源包含空格、非打印字符、超难搞的未知字符,那么肯定会返回#N/A,因此一定要想方设法删掉它们,不同字符删除方法也不一样。


1、存在空格

通过查找与替换,快捷键【Ctrl+H】,查找内容输入空格字符,替换内容保留为空,全部替换即可删除:



2、存在非打印字符

如下图所示,A2与D2名称看起来完全相同,但是VLOOKUP返回#N/A,用Ctrl+H也查找不到任何空格:


此时,可用3种办法判断是否存在非打印字符:

方法1:用=判断

方法2:用Len函数判断长度是否相等

方法3:粘贴至TXT文档,让非打印字符现形


删除非打印字符的方法:CLEAN函数



3、存在未知字符

如下图所示,A2与D2的数字看起来完全相同,但是VLOOKUP返回#N/A,用Ctrl+H也查找不到任何空格,用Len函数判断长度并不相等,但是用Clean函数却依旧无法清除:


这是我遇到的最顽固的字符了,最终是借助Word实现了字符的删除,我们来看一下方法:

1、将A列数据复制粘贴到Word(只粘贴文本);

2、开始-段落-打开显示编辑标记(可以看到数字面前有不认识的字符)

3、按住Alt键拖动鼠标垂直选择右侧数字内容(这个字符不能用查找替换删除)

4、Ctrl+C复制选择好的数字,粘贴到Excel中,此时,公式已返回正确结果



④  数据类型不匹配

进行查找时,要求查找值与数据源对象数据类型必须完全一致,如果查找值是文本类型,数据源是数字类型,也会导致VLOOKUP函数查找出错,这时只需要将数据类型修改为一致即可:


以上是查询过程中#N/A出现的原因及解决办法,以后大家出现这种错误就可以从这几个方面进行排查了:

  1. 是否查无此人

  2. 数据源是否引用出错

  3. 数据源是否绝对引用

  4. 存在空格、非打印字符、其他字符

  5. 数据类型不匹配

好记性不如烂笔头,赶紧练一下~


猜你喜欢

转载自blog.csdn.net/happy_leon/article/details/80972228