部分读者表示,在工作中还遇到过各种奇怪的问题,比如 vlookup 突然失灵了,数据明明正确就是查找不出结果。
比如以下这个案例:
案例:
下图1中,A、B列为某公司员工的身份证号,需要根据D列中列出的身份证号,在E列中查找出对应的姓名。
效果如下:
解决方案:
乍一看,这么简单的需求,直接使用vlookup公式查找就可以了。
- 在E2单元格中输入以下公式,然后下拉复制公式:
=VLOOKUP(D2,A:B,2,0)
但是很奇怪,找不到对应的姓名。我用Ctrl+F查找了一下,发现D列的身份证号在A列又千真万确存在,这是怎么一回事呢?
为了在Excel中完整显示18位的身份证号码,必须将单元格格式设置为文本,这样在数据录入的过程中,就可能会存在一些不可见的字符。
为了能够使两边的文本能够匹配上,可以尝试以下几种做法:
- 用trim函数去除两列身份证号码的前后空格,之后再用vlookup查找。
- 如果trim函数不管用,可以尝试用clean函数去除一些不可见的特殊符号。
- 如果上述方法还是不行,可以在查找单元格前后加上"*",用&符号连接起来。
有关trim和clean函数的详解,请参阅Excel数据源清洗,用这两个函数批量删除空格和换行。
我们直接来试一下第三种用法。
- 选中E2:E5区域,输入以下公式,然后按Ctrl+Enter回车:
=VLOOKUP("*"&D2,A:B,2,0)
现在所有姓名都成功查找出来了。这是什么原理呢?
“*”是通配符,用&连接符号跟D2连在一起,表示D2前含有任意字符的单元格;
如果前面加""找不到,可以试下前后都加,即""&D2&"*";
如果还是找不到,可以再叠加清洗函数,比如""&CLEAN(D2)&""
以下就是最终效果。
很多同学会觉得,单个案例讲解有些碎片化,初学者未必能完全理解和掌握。
不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解Excel的各个知识点。
现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握Excel的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为Excel高手。
[Excel学习专栏]
(图片或链接占位符)