近期遇到一位同学的提问,说用Vlookup函数进行两列数据核对时,怎么都对不上。
Vlookup函数变傻了吗?
当兰色看到表格时,发现对比的是两列数字,如下图所示。
用Vlookup进行查找核对时,发现返回结果全是错误值。而事实上大部分数字都是相同的。why?
遇到这种情况,兰色首先要是否有空格存在。在编辑栏中,果然数字前有一个长长的“空格”。
这个“空格”太长,让兰色怀疑它不是真正的空格。于是用left函数提取出来再用Code转换成数字。
d
=CODE(LEFT(A2))
结果是9,在电脑字符集中对应的符号是水平制表符。由此判断,A列的数字肯定是从其他软件中复制过来的。
要删除数字前“水平制表符”,替换是最直接的方法。复制它,然后替换掉。但你操作时才发现,这个符号只能复制无法粘贴的。替换走不通!
有一个Excel函数可以清除这些看不见字符,它就是Clean。
=CLEAN(A2)
可清除后,用Vlookup查找还是不行。于是兰色在编辑栏中查看数字,发现数字后有N多个“空格”,从宽度兰色初步判断这是真的空格。
有一个函数可以删除空格,它就是Trim函数(也可以用Subtitute函数替换),配合Clean函数,就可以把数字前后的空字符全部删除了。而且Vlookup函数终于可以正常查找了。
=VLOOKUP(CLEAN(TRIM(A2)),C:C,1,0)
幸运的是,这次Vlookup查找“事故”我们可以用肉眼看到有“空格”。事实上,从外部复制过来的数据,很多时候你是看不到“空格”的。
所以,这里兰色这里要提醒大家,以后遇到这种看似一样却无法正常查找的情况,都可以用CLEAN(TRIM(单元格))试着清除多余的字符。
清除“无法替换的空格”,除了用公式,还有一个超简单的方法:万能的字符处理快捷键Ctrl+E:
只需要在第1单元格输入数字,在下面单元格中按Ctrl +E, 数字就提取出来了。
兰色说:遇到查找不到时,不要去怀疑Vlookup是不是傻了。看似相同的两个单元格,其实是不一样的,最简单的检测方法,你用=测试,如 =A1=B1,结果是True相同,False则不同。如果结果是ture而Vlookup公式还是出错,肯定是你的Vlookup公式写错了。
领取专属 10元无门槛券
私享最新 技术干货