可使用MID函数拼接实现手机号隐私保护:=MID(A1,1,3)&"**"&MID(A1,8,4),适用于标准11位文本格式号码,提取前三位与后四位并中间填充四个星号。

如果您需要在Excel中对手机号进行隐私保护处理,将中间数字替换为星号,仅保留前三位和后四位,则可以通过字符串函数组合实现。以下是多种不同的解决方案:
一、使用SUBSTITUTE与MID函数嵌套
该方法通过提取固定位置的字符并拼接,避免依赖手机号长度验证,适用于标准11位手机号。操作前需确保原始数据为文本格式,防止Excel自动去除前置零或科学计数显示。
1、选中目标单元格右侧空白列的第一个单元格(例如B1),输入以下公式:
=MID(A1,1,3)&"****"&MID(A1,8,4)
2、按Enter确认,B1将显示A1中手机号的前三位、四个星号、后四位组合结果。
3、将鼠标移至B1右下角,双击填充柄,自动向下填充至对应数据行。
二、使用REPLACE函数直接替换中间段
该方法利用REPLACE定位并替换指定起始位置、指定长度的字符,逻辑清晰,可读性强,且不依赖MID拼接。
1、在B1单元格输入以下公式:
=REPLACE(A1,4,7,"****")
2、按Enter执行,公式将从第4位开始,替换连续7个字符为“****”,保留第1–3位和第11位起的后4位(即第8–11位)。
3、选中B1,拖拽填充柄复制公式至其余行。
三、使用正则表达式风格的SUBSTITUTE+REPT组合(兼容性更强)
该方案通过构建动态掩码,适配非11位异常数据(如带区号或空格的号码),先清洗再脱敏,增强鲁棒性。
1、在B1输入以下公式:
=SUBSTITUTE(SUBSTITUTE(A1," ",""),"-","")
2、将该公式结果复制粘贴为数值到C列,获得纯数字字符串。
3、在D1输入:=IF(LEN(C1)=11,MID(C1,1,3)&"****"&MID(C1,8,4),C1)
4、该公式自动判断长度,仅对11位号码执行脱敏,其余保留原样。
四、使用自定义名称+公式简化调用
若需频繁复用该逻辑,可预先定义名称映射,使主公式更简洁、易维护,避免重复书写长表达式。
1、点击【公式】→【定义名称】,名称填入“PhoneMask”,引用位置输入:
=LAMBDA(x,IF(AND(LEN(x)=11,ISNUMBER(--x)),MID(x,1,3)&"****"&MID(x,8,4),x))
2、在B1输入:=PhoneMask(A1)
3、回车后即可得到脱敏结果;此方式支持Excel 365及2021版以上版本。
五、使用Power Query批量处理(适合大量数据)
该方法脱离公式限制,支持可视化清洗流程,可一次性处理整列、多列甚至多个工作表,且保留可追溯步骤。
1、选中数据区域,点击【数据】→【从表格/区域】,勾选“表包含标题”,确定进入Power Query编辑器。
2、右键点击手机号列名,选择【转换】→【格式】→【截取文本】→【开头】,输入“3”。
3、再次右键该列,选择【转换】→【格式】→【截取文本】→【结尾】,输入“4”。
4、添加自定义列,公式为:Text.Start([手机号],3)&"****"&Text.End([手机号],4),列名为“脱敏号码”。










