用vlookup函数提取字符串中的数字
来源:互联网 发布:少数民族人脸数据库 编辑:程序博客网 时间:2024/06/11 05:14
iamlaosong转载说明:最近看到一篇文章,介绍vlookup函数的别样用法,提取字符串中的数字,比如账号、电话号码等等,觉得很有意思,虽然用处不大,但可以促进我们更深地掌握vlookup函数,实验了一下,很不错,不过,只能取同样长度的数字,对于变长的数字就无能为力了,这种情况下,还不如自己编个函数来得爽。
方法用到数组公式,这儿说明一下,数组公式的输入方法是:首先输入公式,然后按<Ctrl+Shift+Enter>组合键,输入的公式就变成数组公式了,如需要修改,修改后仍然要按<Ctrl+Shift+Enter>组合键结束,否则就不是数组公式了。所谓数组公式,就是公式的参数是一组数据的集合,要对这组集合数据进行处理,产生一个或多个结果。
该用法如下,首先看图:
如上图所示,是某小区多名业主的信息表。如诸君所见,A列是业主的姓名,B列是一些有趣的信息,要求在C列,使用VLOOKUP函数,提取出B列的手机号码。
B列的信息真是奇葩,除了手机号码,还有职业,有婚姻状况,有爱好,有杂感,有病情——这是谁胡编乱造?也太有水平了,真是让人不得不佩服……
=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}。
上述公式写全了就是:=VLOOKUP(0,MID(B2,ROW($1:$99),11)*{0,1},2,0),以C2祝洪忠童鞋的信息为例,如果MID函数的结果为文本,比如“爱吃鱼刺不爱吃鱼真傻”,那么乘以{0,1}后,结果为错误值{ #VALUE!, #VALUE!};如果MID函数的结果为数值,比如18359282475,结果为{0, 18359282475}。最终由此建立了一个2列99行的内存数组,作为VLOOKUP函数的第二参数,用作查询范围。
VLOOKUP采用精确匹配的方式,在以上所述内存数组的第一列查询首个0出现的位置,进而返回相对应的内存数组第二列的结果,于是便得到了手机号码。
结果如下:
原文链接:点击打开链接
- 用vlookup函数提取字符串中的数字
- 提取字符串中的数字
- 提取字符串中的数字
- 提取字符串中的数字
- 提取字符串中的数字
- 提取字符串中的数字
- PHP提取字符串中的数字
- c提取字符串中的数字
- php提取字符串中的数字
- PHP提取字符串中的数字
- code 提取字符串中的数字
- js提取字符串中的数字
- python 提取字符串中的数字
- php提取字符串中的数字
- python 提取字符串中的数字
- python提取字符串中的数字
- 用函数在Excel中从文本字符串提取数字
- 提取字符串中的数字并分别保存
- 浅析多线程及用法(实例)
- CString string CStringA CStringW string wstring 等字符串转换汇总
- 类似微博快速操作弹出界面
- 汇编语言第二版-第一章
- Xcode更新之后提示App Transport Security has blocked a cleartext HTTP(http://)resource load since it is ...
- 用vlookup函数提取字符串中的数字
- 如何办理提前还贷
- hdu 5122(K.Bro Sorting, 简单思维题)
- 企业级证书打包下载安装之后无法使用问题
- Java读取ini文件和中文乱码问题解决
- Hibernate与 MyBatis的比较
- 【DOS批处理】函数定义和用法
- HQL 表连接
- Nosql简介