如何在Excel和WPS中高效提取手机号码 - 数据处理技巧 点击使用AI助手 了解更多
发布于 2024-10-05 liusiyang 369 编辑
如图:
我们想从这些乱七八糟的数据中,将手机号码提取出来。
Excel选手做法:
利用lookup函数思路:
=LOOKUP(9E+307,--MID(D2&"a",ROW($1:$99),11))
公式解释如下:
MID(D2&"a",ROW($1:$99),11)部分,利用mid函数分别从第1位到第99位截取11个字符(因为手机号是11位),&"a"是避免结尾为数值,防止造成结果紊乱。
这部分公式运算结果如下图:
--MID(D2&"a",ROW($1:$99),11)公式前加两个--是将文本转换成错误值,文本型数字转换成数值型数字,如下图:
最后利用lookup 函数经典用法,提取数字。
WPS选手做法:
利用WPS独有函数regexp来提取手机号码更方便
=REGEXP(D2,"\d{11}")
公式解释如下:
regexp函数是WPS更新的独有函数,功能非常强大!
正则表达式中,关于数字提取相关的符号如下:
\d:任意1个数字
+:文本长度>=1
\d+:任意长度的连续数字
=REGEXP(D2,"\d")运算结果如下图:
=REGEXP(D2,"\d+")运算结果如下图:
但是,我们只想提取11位长度的手机号,怎么设置数字长度?
可以这样写:
{m,n}表示m~n个字符,
所以公式可以改成:
=REGEXP(D2,"\d{11}"),公式运算结果如下:
今天的分享就到这里!regexp函数功能非常强大,正则表达式对于我这样非计算机专业人员,学习起来有点困难,仍在继续学习中!
使用的是Windows下WPS,版本如下图:
我是墨云轩,热衷分享wps办公小技巧,边学习,边分享,每天进步一点点!感谢您的阅读!
原文链接:https://bbs.wps.cn/topic/33680