vlookup函数的使用方法及实例

自从6月份在部门做过一次excel内训后,就不断有同事向我咨询excel问题。上周一位同事跑来问我:为什么我的vlookup精确查询得不出结果?

我让她把表发给我看看(咨询excel问题,用excel来表达往往最直接有效)

为了方便说明,我把同事发给我的两个excel文件中必要的信息拎出来,整理到一个sheet中,如上图。E、F两列是数据源,需求是根据A列的门店编码在数据源中查找各门店的中转账户。

根据同事的需求,我用vlookup也做了一遍精确查询,发现和她得到结果一样。

vlookup查找结果出现错误值,一般有两种情况,一是数据源中确实没有需要查找的内容,二是数据源中有需要查找的内容,但二者格式不一致。

循着这个思路,我找了A列第一个门店编码,在E列手动输入进行筛选,发现数据源中有这个门店编码,所以第一种情况就可以排除了。

接下来就考虑第二种情况:格式不一致的问题。为了验证是否格式不一致,我直接复制(ctrl+c)A列第一个门店编码,然后在E列直接粘贴(ctrl+v)进行筛选,发现无匹配项,这进一步证实了前面的判断:数据源与查找内容确实格式不一致。

问题定位后,接下来就是去解决问题了。针对格式不一致问题,最常见的就是空格,所以我先用查找替换去处理,发现没有空格。

紧接着就考虑应该是有不可见字符。我最常用的方法是“分列”,因为这个最简单也最高效,基本上都能解决问题。

具体操作,如下图,选中A列,在“数据”功能菜单下选择“分列”,默认选中“分隔符号”,点击“下一步”,进入第2步后,继续点击“下一步”,在第3步中,选中“文本”数据格式,点击“完成”。再对E列进行相同的操作。这样做的目的,是希望将A列与E列的格式调整成一致。

 

一般情况下,到这里问题就可以解决了。但是这次很诡异的事情发生了,分列处理后,结果没有变化。

我不信这个邪,再试一次,发现还是一样的结果。这就表示在这里“分列”无能为力了。

无奈,只能换一种办法:clean函数。这个函数的作用是清除单元格中的非打印字符。

分别增加辅助列,用clean函数清除A列、E列每个单元格:

可是,结果还是一样不对,也就意味着函数也无法解决这里的格式不一致问题。

大多数情况下,前面两种方法已经足够解决格式不一致的问题了,因为无论是分列还是clean函数,都可以清除掉一些不可见字符。

可是见鬼了,这次的问题,用这两种方法都不行。怎么办呢?没办法,只能使出最后的杀手锏,那就是用“记事本”或者“word”来处理不可见字符。

将A列内容复制到记事本,然后再将记事本的这些内容复制,返回到excel,选择性粘贴—文本,这时候可以看到“?”

到这里就简单了,只需要把“?”替换为空就好了。不过这里有个小门道,就是“?”在excel中属于通配符,要查找通配符本身就必须在字符前加上“~”来表示。

到这里,你再将上面清除过不可见字符的内容复制粘贴到A列,会发现,vlookup的正确查询结果就已经出现了。同理,你可以按照同样的方法去操作E列,会发现E列并没有不可见字符。

这样的处理不可见字符的方法也可以通过word实现,有兴趣的朋友可以自己的动手试试。

最后大家可以通过坚果云分享越分享越快乐,今天的分享就到这里。如果你觉得有帮助,看完请转发,让我们共同陪伴~~

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
赞(0)
网站部分内容和图片来源于网络如有侵权请联系我们删除:好用的网盘坚果云 » vlookup函数的使用方法及实例
分享到: 更多 (0)
vlookup函数的使用方法及实例

本文链接:vlookup函数的使用方法及实例https://content.jianguoyun.com/22504.html

评论 抢沙发

评论前必须登录!

 

坚果云 便捷、安全的网盘产品

免费试用下载客户端