You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中用星号替换字母实现姓名列表匿名化?

Excel姓名匿名化公式解决方案

核心逻辑

将姓名按空格拆分为独立的名字段(名、中间名、姓),对每个名字段保留首字母和尾字母,中间用对应数量的星号填充,最后拼接所有处理后的字段。


适用于Excel 365/2021(支持动态数组函数)

假设目标姓名在A1单元格,使用以下公式:

=TEXTJOIN(" ",TRUE,BYROW(TEXTSPLIT(A1," "),LAMBDA(x,LEFT(x,1)&REPT("*",LEN(x)-2)&RIGHT(x,1))))

公式拆解:

  1. TEXTSPLIT(A1," "):将姓名按空格拆分为单个名字段(如Bob Adam Smith拆分为{"Bob","Adam","Smith"})
  2. BYROW(..., LAMBDA(x,...)):遍历每个名字段,执行匿名化处理
  3. LEFT(x,1)&REPT("*",LEN(x)-2)&RIGHT(x,1):对单个名字段,取首字母+对应长度的星号+尾字母
  4. TEXTJOIN(" ",TRUE,...):用空格拼接所有处理后的名字段

适用于旧版Excel(无动态数组函数)

假设目标姓名在A1单元格,输入以下公式后按Ctrl+Shift+Enter触发数组计算:

=TRIM(CONCAT(LEFT(MID(" "&A1&" ",SEARCH(" ",A1,ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))+1,LEN(A1)),1)&REPT("*",LEN(MID(" "&A1&" ",SEARCH(" ",A1,ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))+1,LEN(A1)))-2)&RIGHT(MID(" "&A1&" ",SEARCH(" ",A1,ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)))+1,LEN(A1)),1)&" "))

公式效果:

和新版公式逻辑一致,通过计算空格数量拆分名字段,逐个处理后拼接。


验证示例

原始姓名匿名化结果
Bob Adam SmithBb Am Sh
Steve JobsS*e Js
Stacy JonesSy Js

内容的提问来源于stack exchange,提问作者Sara123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:40:30