加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

这样的VLOOKUP,你用过吗

(2016-08-15 22:57:01)
标签:

杂谈

​大家好,我是星光。咱们今天继续聊聊VLOOKUP函数。

前段时间,有人问我为啥这么执迷于VLOOKUP函数,聊了一期又一期的。

这个说来话就长了,这牵扯到俺的一点小隐私。

和很多表亲一样,VLOOKUP是俺掌握的第一个查询函数,可谓之为初恋,嘿!那谁,您说,初恋怎么能够忘记呢?

http://ww3/large/005IRek6gw1f6usfs2s6vj303z03zjrd.jpg


说正事,别拍砖,快看题:

http://ww1/large/005IRek6gw1f6usgj8p8aj30cv08s3zy.jpg

​如上图所示,是某小区多名业主的信息表。

如诸君所见,A列是业主的姓名,B列是一些有趣的信息。

要求在C列,使用VLOOKUP函数,提取出B列的手机号码。

B列的信息真是奇葩,除了手机号码,还有职业,有婚姻状况,有爱好,有杂感,有病情——

这是谁胡编乱造?也太有水平了,真是让人不得不佩服……

——暂停几分钟再向下看,请先使用VLOOKUP解题儿吧。

http://ww3/large/005IRek6gw1f6ush9hugcj302o02o744.jpg



​暂停回来,咱们看用到的公式:

=VLOOKUP(,MID(B2,ROW($1:$99),11)*{0,1},2,)

在C2单元格输入上面的数组公式,按<Ctrl Shift Enter>组合键,并向下复制到C2:C6单元格,即可得出结果!


简单说下公式的含义和解题的思路:

我们知道手机号码是由11位数字构成的。

MID(B2,ROW($1:$99),11)部分,MID函数依次从B2的第1、2、3、4……直至99个位置,提取长度为11位的数据,然后分别乘以0和1,即常量数组{0,1}。


以C2单元格中祝洪忠童鞋的信息为例:

如果MID函数的结果为文本,比如“爱吃鱼刺不爱吃鱼真傻”,那么乘以{0,1}后,结果为错误值{ #VALUE!, #VALUE!};

如果MID函数的结果为数值,比如18359282475,结果为{0,18359282475}。

由此建立了一个2列99行的内存数组,作为VLOOKUP函数的第二参数,用作查询范围。


VLOOKUP第一参数省略查找值,表示用0查找。

采用精确匹配的方式,在以上内存数组的第一列查询首个0出现的位置,并且返回相对应的内存数组第二列的结果,于是便得到了手机号码。

结果如下:

http://mmbiz.qpic.cn/mmbiz/BAbVqibwwtmxy3yWh4JbygvaMibC7pXsBoVribh185CzZZibHRcRMLe92RdPNRflgAmAzp1mSarun97Y3jE9xAibELQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1

乡亲们,咋么滴?,看了这道题对VLOOKUP函数有没有一个新的认识?

话说,VLOOKUP还可以合并同类项,也就是把符合条件的多个结果,合并到一个单元格中,不信?请戳链接看视频:VLOOKUP:将符合条件的多个结果合并到一个单元格中~

更多EXCEL技巧,请关注~EXCELers(网名看见星光)

握手,晚安,明天。

​​

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有