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

Excel如何删除单元格内单字符内容 去除人名中间缩写排查重复

Excel移除人名中单字符中间名缩写方案

方法1:公式法(适合新手,直接单元格套用)

假设原始人名存储在A列,在空白列(比如B列)输入以下公式:
=TEXTJOIN(" ",TRUE,FILTER(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)*99-98,99)),LEN(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),SEQUENCE(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))+1)*99-98,99)))<>1))

  • 适用版本:Excel 365、Excel 2021及以上版本
  • 逻辑说明:先把人名按空格拆分成分立片段,过滤掉长度为1的片段后再用空格拼接,自动忽略空值,完全匹配你给出的示例效果。

方法2:Power Query法(适合批量处理十万级以上数据,无需反复修改公式)

操作步骤:

  • 选中人名所在的单元格区域,点击「数据」选项卡→「从表格/区域」导入Power Query编辑器
  • 选中人名列,点击「转换」选项卡→「拆分列」→「按分隔符」,分隔符选择空格,拆分到行
  • 新增自定义列,输入公式:Text.Length([你的人名列实际名称]) <> 1,筛选出值为TRUE的行
  • 选中人名列,点击「转换」选项卡→「分组依据」,操作选择「连接值」,分隔符设置为空格
  • 最后把处理好的表导出回Excel即可。

方法3:VBA宏法(适合高频重复处理同类型需求)

按Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:

Function RemoveSingleMiddleName(rng As Range) As String
    Dim arr As Variant
    Dim i As Integer
    arr = Split(Trim(rng.Value), " ")
    For i = LBound(arr) To UBound(arr)
        If Len(arr(i)) > 1 Then
            RemoveSingleMiddleName = RemoveSingleMiddleName & " " & arr(i)
        End If
    Next i
    RemoveSingleMiddleName = Trim(RemoveSingleMiddleName)
End Function

保存后回到Excel界面,直接在单元格输入=RemoveSingleMiddleName(A1)即可调用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 08:45:02