17370845950

Excel怎么提取手机号前三位和后四位 中间用*代替【隐私保护】
可使用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及2025版以上版本。

五、使用Power Query批量处理(适合大量数据)

该方法脱离公式限制,支持可视化清洗流程,可一次性处理整列、多列甚至多个工作表,且保留可追溯步骤。

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

2、右键点击手机号列名,选择【转换】→【格式】→【截取文本】→【开头】,输入“3”。

3、再次右键该列,选择【转换】→【格式】→【截取文本】→【结尾】,输入“4”。

4、添加自定义列,公式为:Text.Start([手机号],3)&"****"&Text.End([手机号],4),列名为“脱敏号码”。