分享

复杂文本,快速提取手机号,你会么?

 天地任逍遥耶 2023-04-15 发布于湖北

举个工作中的例子,左边是一列混合数据,我们希望快速提取出手机号信息,左边的数据是模拟的,如下所示:

文章图片1

今天分享2种方法,快速进行提取

一、公式法

我们先直接先结果,我们在单元格中输入的公式是:

=MAX(IFERROR(--MID(A2,ROW($A$1:$A$99),11),0))

因为是数组公式,如果是低版本的excel,没有溢出功能,则需要按数组三键CTRL+SHIFT+ENTER得到结果

文章图片2

我们解释一下原理,首先我们使用的公式是

=MID(A2,ROW(A1:A99),11)

它会对A2单元格,从第1位开始提取11位长度的数据

第2位开始的11位长度,第3位开始的11位长度,分别提取

文章图片3

然后我们使用负负得正的方式,去替换掉非数字的信息

--MID(A2,ROW(A1:A99),11)

文章图片4

然后用IFERROR公式去屏幕错误值,最后使用MAX函数公式获取这结果里面的最大值,也就是11位数字了

=MAX(IFERROR(--MID(A2,ROW(A1:A99),11),0))

方法二:使用VBA代码法

上述的方面只能解决杂乱的单元格文本中只存在一个手机号码的情况,如果说存在2个手机号,那么这个公式只能提取数字大的那个

文章图片5

如果希望全部提取出来,则我们可以使用开发工具,打开Visual Basic,然后插入一个模块,自定义一个sz的函数公式

文章图片6

然后我们在单元中输入的公式是:

=sz(A2)

文章图片7

因为有了VBA代码,所以Excel文件也要另存为xlsm格式的文件(要不然下次打开的时候代码会丢失而无法使用自定义的sz公式)

关于这个小技巧,你学会了么?动手试试吧!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多