ARTICLE · 1057121
Excel里一堆文字怎么批量找出日期、手机号和编号?先学这5个正则符号
逐行查找,再手工复制?
按数据的“长相”
一次把它找出来
日期 · 手机号 · 工单编号 · 五类符号
职场流程优化笔记
逐行查看、手工复制不仅慢,也容易录错。先学五类符号,就能完成字段提取、格式检查和号码脱敏。
如果每条记录的字段都在固定位置,用LEFT、MID就够了。
真正麻烦的是:字段位置不断变化。日期有时在开头,有时在中间;编号长度固定,位置却不固定。此时逐行寻找效率很低,手工复制还容易录错。
正则表达式的作用,就是不管内容躲在哪里,都按“长相”把它找出来。
版本提醒
本文使用的是Microsoft 365版Excel中的正则函数。如果输入REGEXEXTRACT后Excel无法识别,当前版本可能不支持。没有文本提取任务,也不必为了多学一个技能专门记正则。

正则处理前后总览
01
PART
先看一个结果
RESULT · 三类字段
假设A2中的内容是:
2026-09-22,联系人:13812345678,工单:WX-260922-018
提取日期
=REGEXEXTRACT(A2,"[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}")
提取手机号
=REGEXEXTRACT(A2,"1[3-9][0-9]{9}")
提取工单号
=REGEXEXTRACT(A2,"WX-[0-9]{6}-[0-9]{3}")
公式不用从零硬写。先看懂下面五类符号,再替换自己的业务规则即可。
02
PART
先认识这五类符号
SYMBOLS · 最小知识
[0-9]匹配任意一位数字;[A-Z]则匹配一位大写字母。
{n}或{n,m}限定前一项出现几次。
^和$分别表示整段文字的开头和结尾。
()把一部分内容分组,后续可以保留或重新组合。
|表示“或者”,适合兼容两种允许的格式。

五类正则符号纸面批注
03
PART
不只提取,还能检查和脱敏
CHECK · REPLACE
如果B2应该是完整工单号,可以用下面的公式检查格式:
=REGEXTEST(B2,"^WX-[0-9]{6}-[0-9]{3}$")
返回TRUE表示结构符合规则,FALSE表示需要检查。
手机号需要隐藏中间四位时,可用:
=REGEXREPLACE(C2,"(1[3-9][0-9]{2})[0-9]{4}([0-9]{4})","$1****$2")
这里的括号把前3位和后4位分组,替换时保留两端,只隐藏中间部分。

批量处理前检查清单
⚠ 批量处理前,先过四关
① 复制原始列,不要直接覆盖唯一数据。
② 先拿三条不同格式的样本测试,再向下填充公式。
③ 抽查空白、超长和格式异常的结果。
④ 别把“格式匹配”当成“内容真实”。
2026-99-99也可能符合上面的日期外形;手机号匹配成功,也不代表号码真实存在。