登录
首页 >  文章 >  软件教程

Excel快速提取手机号技巧

时间:2026-03-30 16:00:26 305浏览 收藏

想在Excel中从杂乱文本里秒提手机号却总被手动筛选折磨?本文揭秘两大高效提取法:一是用SUBSTITUTE与MID组合,通过清理空格、短横线后精准定位“1”开头的11位号码,适合格式统一的场景;二是利用FILTERXML函数(Excel 2013+),自动识别并提取任意位置的连续11位有效手机号,智能跳过干扰字符——无需VBA、不依赖正则插件,公式一贴即用,大幅提升数据清洗效率。

Excel怎么快速提取手机号 Excel从杂乱文字提数字方法【技巧】

如果您在Excel表格中面对包含大量杂乱文字的单元格,需要从中精准提取手机号,而手动筛选效率低下,则可能是由于缺乏对文本函数与正则逻辑的灵活运用。以下是实现快速提取手机号的多种方法:

一、使用SUBSTITUTE与MID组合提取固定位置手机号

该方法适用于手机号统一出现在文本中相同字符位置(如总长度固定且前后分隔符一致)的场景,通过逐层替换干扰字符,再定位截取。

1、在空白列输入公式:=MID(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""),FIND("1",SUBSTITUTE(SUBSTITUTE(A1," ",""),"-","")),11)

2、按Enter确认,确保A1为含手机号的原始单元格。

3、将公式向下填充至其他行,自动适配各单元格。

二、利用FILTERXML配合SUBSTITUTE提取连续11位数字

此方法借助XML解析能力识别连续数字段,要求Excel版本为2013及以上,且数据中不含非法XML字符,能有效跳过非数字干扰项。

1、输入公式:=FILTERXML(""&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""),"(","")&"","//s[.>=13000000000 and .

2、按Ctrl+Shift+Enter(若为旧版Excel)或直接回车(动态数组版Excel)执行。

3、若返回#N/A,说明未匹配到符合11位且以1开头的数字串。

三、通过Power Query清洗并提取手机号

适用于批量处理多列混杂文本,支持可视化操作与重复应用,不依赖公式记忆,适合中大型数据集。

1、选中数据区域,点击【数据】→【从表格/区域】,勾选“表包含标题”,确定进入Power Query编辑器。

2、右键目标列 → 【转换】→ 【提取】→ 【数字】,仅保留所有数字字符。

3、添加自定义列,输入公式:if Text.Length([数字]) = 11 and Text.Start([数字],1) = "1" then [数字] else null

4、筛选该列非空值,关闭并上载结果至工作表。

四、使用VBA正则表达式精准匹配手机号

该方法可严格遵循中国大陆手机号号段规则(如13x/14x/15x/17x/18x/19x),排除无效11位数字,准确率最高,需启用宏功能。

1、按Alt+F11打开VBA编辑器,插入新模块,粘贴以下代码:

Function ExtractMobile(cell As Range) As String
Dim regEx As Object
Set regEx = CreateObject("VBScript.RegExp")
With regEx
  .Global = True
  .Pattern = "1[3-9]\d{9}"
End With
If regEx.Test(cell.Value) Then
  ExtractMobile = regEx.Execute(cell.Value)(0)
Else
  ExtractMobile = ""
End If
End Function

2、返回Excel,在空白单元格输入公式:=ExtractMobile(A1)

3、启用宏的工作簿保存为.xlsm格式,否则函数无法运行。

今天关于《Excel快速提取手机号技巧》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>