专注办公软件培训专注办公软件培训

成都办公软件培训联系电话

24小时咨询热线

  • 成都路凡教育联系电话
  • QQ邮箱:3201180075@qq.com
  • 营业时间:8:30-21:00
  • 地址:青羊区人民中路三段6号5楼508室(文殊院地铁口)
详情+
  •  

Excel函数:如何提取不规范数据?

文章来源:成都办公软件速成班  文章作者:office技巧分享小编  发布时间:2020年 04月 25日 16:48:16  标签:Excel函数
今天,有伙伴问了成都办公软件速成班小编这样一个问题,现有如下图所示的源数据,现需要将姓名和电话号码分别从

源数据所在列提取出来:


成都办公软件速成班

看到这样的数据,单纯的提取函数肯定是没有办法了,之前分享的提取长度不一的提取函数+FIND的套路也无法使用

了,那这样的问题该怎么解决呢?且看小编慢慢道来:我们只需要在C2单元格内输入公式:

=MID(A2,MIN(FIND(ROW($1:$10)-1,A2&"0123456789")),11)公式输入完成之后,按Ctrl+Shift+回车结束进行尝

试,此公式则变为数组公式


成都办公软件速成班

函数解释:1.   ROW($2:$14)会得到{1;2;3;4;5;6;7;8;9;10},10个数字,而减去1,就会得到{0;1;2;3;4;5;6;7;8;9},刚好是

阿拉伯数字的0-9。A2&”0123456789”就是”林明玉156958498650123456789”

2.   FIND(ROW($1:$10)-1,A2&"0123456789")的意思就是在”林明玉156958498650123456789”中,分别找0-9这

十个数字在其中的位置。3.   因为位置序号最小的数字(即0-9中0所在的位置序号),即为号码字段开始的第一个字符。

所以我们用MIN函数判断出数字在字符串中最小的位置,即为数字开始的位置,作为MID函数的第二参数。最后再用

MID函数提取出11位数字即为需要的电话号码4.   看到这,有的小伙伴或许会发出属于自己的声音了,为什么要让A2连

上数字”0123456789”?。小编告诉你,那是因为不可能所有电话号码都会包含完整的0-9这10位数字,当没有在A2单

元格内找到对应数字时,FIND函数就是返回错误值,整个公式就会失去作用。所以为了避免这种情况,我们需要在A2后

面脸上数字”0123456789”当你可以理解上述原理之外,就可以在原公式的基础上对公式进行简化:

=MID(A2,MIN(FIND(ROW($1:$10)-1,A2&5/19)),11)


成都办公软件速成班

从上图可以看出,这次A2后面连接的就不在是数字”0123456789”了,而是看上去更简单的5/19。其实原理和上面一

样,5/19=0.2631578947,这个结果刚好包含了数字0-9,和上面的直接连接0-9是一样的效果

通过上一步骤,我们就可以提取出完整的电话号码,接下来,就只需要用SUBSTITUTE函数在数据区域中,将提取出来的

电话号码替换为空,就可以了


成都办公软件速成班