跳至主要内容

从Excel中的全名提取名字、中间名和姓氏

Author: Xiaoyang Last Modified: 2025-07-31

假设您有一份用户名列表,现在您希望将全名拆分为名字、中间名和姓氏,并分别显示在不同的列中,如下截图所示。本文将介绍一些在Excel中处理此任务的公式。

doc-extract-first-last-name-1


从Excel中的全名提取或获取名字

要从全名中提取或获取名字,LEFT和SEARCH函数可以帮到您,通用语法为:

=LEFT(name,FIND(" ",name)-1)
  • name: 您想从中提取名字的全名或单元格引用。

请将以下公式复制或输入到您想要获取结果的空白单元格中:

=LEFT(A2,SEARCH(" ",A2)-1)

然后,向下拖动填充柄以应用该公式到其他单元格,所有名字都会被提取出来,如下截图所示:

doc-extract-first-last-name-2


公式解释:

SEARCH(" ",A2)-1: 此SEARCH函数用于获取第一个空格字符的位置,减去1表示您需要的字符数比空格位置少1。这将得到结果:5。

LEFT(A2,SEARCH(" ",A2)-1)= LEFT("Jerry T. Stone",5): 此LEFT函数将从全名“Jerry T. Stone”的左侧提取由SEARCH函数返回的5个字符。


从Excel中的全名提取或获取姓氏

要从全名中提取姓氏,RIGHT、LEN、FIND、LEN和SUBSTITUTE函数的组合可以帮助您。通用语法为:

=RIGHT(name,LEN(name)-FIND("*",SUBSTITUTE(name," ","*",LEN(name)-LEN(SUBSTITUTE(name," ","")))))
  • name: 您想从中提取姓氏的全名或单元格引用。

请将以下公式复制或输入到您想要获取姓氏的空白单元格中:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))

然后,向下拖动填充柄以应用该公式到其他单元格,所有姓氏都已从全名中提取出来,见截图:

doc-extract-first-last-name-3


公式解释:

1. LEN(A2)-LEN(SUBSTITUTE(A2," ","")): 这部分用于获取单元格A2中的空格字符数量。

  • LEN(A2): 此LEN函数返回单元格A2中字符的总数。它将返回:14。
  • SUBSTITUTE(A2," ",""): 此SUBSTITUTE函数用于将所有空格字符替换为无内容。您将得到这样的结果:“JerryT.Stone”。
  • LEN(SUBSTITUTE(A2," ",""): 获取单元格A2中全名的总长度(不包括空格)。
  • LEN(A2)-LEN(SUBSTITUTE(A2,"-","")): 用总全名长度减去没有空格的全名长度,以获取空格的数量,这将得到2。

2. SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))= SUBSTITUTE(A2," ","*",2): 此SUBSTITUTE函数用于将第一部分公式返回的最后一个空格替换为*字符。您将得到这样的结果:“Jerry T.*Stone”。

3. FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))= FIND("*","Jerry T.*Stone" ): FIND函数将返回由SUBSTITUTE函数返回的文本字符串中*字符的位置,您将得到数字9。

4. LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))= LEN(A2)-9: 公式的这一部分将获取最后一个空格之后有多少个字符。这将得到数字5。这将被识别为RIGHT函数中的num_chars参数。

5. RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ","")))))=RIGHT(A2, 5): 最后,RIGHT函数用于从单元格A2中文本字符串的右侧提取由步骤4公式返回的5个字符。


注意:如果您的全名列表仅包含名字和姓氏,您可以应用以下简单公式来获取所需的姓氏:

=RIGHT(A2,LEN(A2)-SEARCH(" ",A2,1))

doc-extract-first-last-name-4


从Excel中的全名提取或获取中间名

如果您需要从全名中提取中间名,可以使用MID和SEARCH函数创建的公式。通用语法为:

=MID(name, SEARCH(" ", name) + 1, SEARCH(" ", name, SEARCH(" ", name)+1) - SEARCH(" ", name)-1)
  • name: 您想从中提取中间名的全名或单元格引用。

请将以下公式输入或复制到空白单元格中以输出结果:

=MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1)

然后,向下拖动填充柄以应用该公式到其他单元格,所有中间名也都被提取出来了,见截图:

doc-extract-first-last-name-5


公式解释:

要提取中间名,首先,您应该找到全名中两个空格的位置,然后应用MID函数提取文本字符串中间的文本。

1. SEARCH(" ", A2) + 1: 此SEARCH函数将获取第一个空格的位置,加1表示从下一个字符开始提取。这将得到数字7。这部分被识别为MID函数中的start_num参数。

2. SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1: 这部分被识别为MID函数中的num_chars参数。

  • SEARCH(" ", A2, SEARCH(" ", A2)+1): 此公式部分用于获取第二个空格的位置,它将得到数字9。
  • SEARCH(" ", A2): 此SEARCH函数将获取单元格A2中第一个空格的位置。它将得到数字6。
  • SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1=9-6-1: 用第二个空格的位置减去第一个空格的位置,然后从结果中减去1意味着去除前导空格。结果是2。

3. MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1)=MID(A2,7,2): 最后,MID函数将从单元格A2的第七个字符开始提取2个字符。


注意:如果全名中只有名字和姓氏,上述公式将如下面截图所示返回错误值:

doc-extract-first-last-name-6

要解决此问题,您应将上述公式嵌套在IFERROR函数中,请应用以下公式:

=IFERROR(MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2)+1) - SEARCH(" ", A2)-1),"")

doc-extract-first-last-name-7


使用一个惊人的功能从全名中提取或获取名字、中间名和姓氏

如果您对上述公式感到头疼,这里我推荐一个简单的工具——Kutools for Excel,其Split Names功能可以一次性将所有名字、中间名和姓氏提取到单独的单元格中。 点击免费试用版下载Kutools for Excel!


相关使用的函数:

  • 左对齐
  • LEFT函数从提供的字符串的左侧提取给定数量的字符。
  • 右对齐
  • RIGHT函数用于从文本字符串的右侧提取特定数量的字符。
  • 中间
  • MID函数用于查找并返回给定文本字符串中间的特定数量的字符。
  • 长度
  • LEN函数返回文本字符串中的字符数。
  • 查找
  • FIND函数用于在一个字符串中查找另一个字符串,并返回字符串在另一个字符串内的起始位置。
  • 搜索
  • SEARCH函数可帮助您从给定的文本字符串中查找特定字符或子字符串的位置。
  • 替换
  • Excel的SUBSTITUTE函数将文本字符串中的文本或字符替换为另一文本或字符。

更多文章:

  • 从全名中提取名字首字母和姓氏
  • 假设您有一份全名列表,现在您希望从全名中提取名字首字母和姓氏,或者名字和姓氏的第一个字符,如下截图所示。如何在Excel工作簿中处理这些任务?
  • 在Excel列表中翻转或反转名字和姓氏
  • 如果您有一个格式为姓氏和名字的全名列表,现在您想将姓氏和名字翻转为名字和姓氏,如下截图所示。本文将介绍一些在Excel中处理此任务的公式。
  • 从单元格中提取多行
  • 如果您有一份由换行符分隔的文本字符串列表(在输入文本时按Alt + Enter键产生),现在您想将这些文本行提取到多个单元格中,如下截图所示。如何在Excel中使用公式解决它?

最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。