Excel快速提取手机号方法大全
时间:2026-02-19 08:19:09 147浏览 收藏
本文系统介绍了五种在Excel中从杂乱文本中快速、准确提取中国大陆手机号(11位、以13/14/15/17/18/19开头)的实用方法——从零代码的快速填充和公式组合,到Power Query批量清洗、VBA正则精准匹配,再到Excel 365原生REGEXEXTRACT函数的极简调用,覆盖不同版本、不同技能水平和不同数据规模的实际需求,助你告别手动翻找、大幅降低出错率,真正实现“一键提取”。

如果您在Excel中处理包含杂乱文字的单元格,需要从中快速提取手机号码,则可能是由于手机号嵌套在长文本、标点符号或中文字符之间,导致无法直接识别。以下是几种高效提取手机号的方法:
一、使用SUBSTITUTE与MID结合正则逻辑提取
该方法适用于手机号固定为11位且前后无其他连续数字干扰的场景,通过逐层替换非数字字符,再定位长度为11的数字串。
1、在空白列输入公式:=TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9",""),CHAR(10),LEN(A1)))(此为辅助思路,实际需配合数组逻辑)
2、改用更可靠方式:先清理所有非数字字符,使用公式:=TEXTJOIN("",TRUE,IF(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"")),按Ctrl+Shift+Enter确认为数组公式(Excel 365/2021可直接回车)
3、对清洗后的纯数字字符串,用SEARCH查找“1[3-9]”开头的11位子串,再用MID截取:=IFERROR(MID(B1,MIN(IF(ISNUMBER(FIND({"13","14","15","17","18","19"},B1)),FIND({"13","14","15","17","18","19"},B1))),11),"")
二、使用Power Query批量提取
Power Query适合处理大批量非结构化文本,能自动识别并筛选出符合手机号格式的11位数字序列,无需编写复杂公式。
1、选中数据列,点击【数据】→【从表格/区域】,勾选“表包含标题”,确定进入Power Query编辑器
2、右键该列→【转换】→【提取】→【仅数字】,生成新列,得到纯数字字符串
3、添加自定义列,输入公式:if Text.Length([数字列])>=11 then Text.Middle([数字列],0,11) else null
4、再添加条件列,判断是否以“13”、“14”、“15”、“17”、“18”或“19”开头,保留匹配行
三、使用VBA正则表达式精准匹配
正则表达式可严格匹配“1+10位数字”的手机号模式,避免误提身份证号末11位等干扰项,适合有编程基础或需反复执行的用户。
1、按Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:
Function ExtractPhone(str As String) 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(str) Then ExtractPhone = regEx.Execute(str)(0).Value Else ExtractPhone = "" End Function
2、返回Excel,在空白单元格输入公式:=ExtractPhone(A1)
3、将公式向下填充,即可批量提取首个匹配的手机号
四、利用Excel 365新函数REGEXEXTRACT(仅限订阅版)
Excel 365及更新版本内置正则函数,无需VBA即可实现一键提取,语法简洁且支持多结果返回。
1、确认您的Excel版本为Microsoft 365 Insider Beta或2024年9月后更新版本
2、在目标单元格输入:=REGEXEXTRACT(A1,"1[3-9]\d{9}")
3、若同一单元格含多个手机号,可追加参数3获取全部匹配项:=REGEXEXTRACT(A1,"1[3-9]\d{9}",3)
五、手动定位+快速填充(低技术门槛法)
适用于样本量小、格式较统一的场景,借助Excel内置“快速填充”功能,由用户示范一次提取逻辑,系统自动学习并延展。
1、在相邻空白列手动输入第一个单元格中的手机号(确保准确无误)
2、选中已填写的单元格及其下方若干空单元格(如B1:B10)
3、按下Ctrl+E触发快速填充,Excel将根据A列文本与B1示例的映射关系自动填充其余结果
4、检查前10行结果是否正确,如有偏差,修改B2内容后再次Ctrl+E重新训练
今天关于《Excel快速提取手机号方法大全》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
144 收藏
-
481 收藏
-
171 收藏
-
265 收藏
-
314 收藏
-
228 收藏
-
468 收藏
-
110 收藏
-
133 收藏
-
401 收藏
-
163 收藏
-
266 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习