跳到主要内容

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

假设您有一个用户名列表,现在,您想将全名分为几列,分别按名字,中间名和姓氏显示,如下面的屏幕快照所示。 本文,我将介绍一些在Excel中处理此工作的公式。


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

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

=LEFT(name,FIND(" ",name)-1)
  • name:首先要提取的全名或单元格引用。

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

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

然后,将填充手柄向下拖动到要应用此公式的单元格上,所有名字都被提取出来,如下图所示:


公式说明:

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

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


从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," ","")))))

然后,将填充手柄向下拖动到单元格以填充此公式,并且所有姓氏均已从全名中提取出来,请参见屏幕截图:


公式说明:

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

  • LEN(A2): 此LEN函数返回单元格A2中字符的总数。 它将返回:14。
  • SUBSTITUTE(A2,“”,“”): 此SUBSTITUTE函数用于替换所有空格字符。 您将得到如下结果:杰里·斯通“。
  • LEN(SUBSTITUTE(A2,“”,“”): 获取单元格A2中全名的总长度,不带空格。
  • LEN(A2)-LEN(SUBSTITUTE(A2,“-”,“”)): 从全名总长度中减去全名的长度(不带空格)以获取空格数,这将得到2。

2. SUBSTITUTE(A2,“”,“ *”,LEN(A2)-LEN(SUBSTITUTE(A2,“”,“”)))= SUBSTITUTE(A2,“”,“ *”,2): 此SUBSTITUTE函数用于将第一个部分公式返回的最后一次出现的空格替换为*字符。 您将得到以下结果:杰瑞·T·斯通“。

3. FIND(“ *”,SUBSTITUTE(A2,“”,“ *”,LEN(A2)-LEN(SUBSTITUTE(A2,“”,“”))))= FIND(“ *”,“ Jerry T. *结石” ): 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,“”,“”))))))=右(A2,5): 最后,使用RIGHT函数从单元格A5中的文本字符串的右侧提取4个字符,这些字符由步骤2中的公式返回。


备注:如果全名列表仅包含名字和姓氏,则可以根据需要应用以下简单公式来获取姓氏:

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


从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)

然后,将填充手柄向下拖动到单元格以应用此公式,所有中间名也将被提取,请参见屏幕截图:


公式说明:

要提取中间名,首先,您应该找到全名之间两个空格的位置,然后应用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 ,XNUMX): 最后,MID函数将从第2个字符开始的单元格A2的中间提取XNUMX个字符。


备注:如果全名中只有名字和姓氏,则上面的公式将得到一个错误值,如下图所示:

要解决此问题,应将上面的公式包含在IFERROR函数中,请应用以下公式:

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


具有惊人功能的全名提取或获取名字,中间名和姓氏

如果您对上述小肠疼痛,请在这里推荐一个简单的工具- Kutools for Excel,其 分割名称 功能,您可以一次将所有名字,中间名和姓氏提取到单独的单元格中。  点击下载Kutools for Excel免费试用!


使用的相对功能:

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

更多文章:

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

最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项  |  删除空白行  |  合并列或单元格而不丢失数据  |  不使用公式进行四舍五入 ...
超级VLookup: 多重标准  |  多重价值  |  跨多页  |  模糊查询...
副词。 下拉列表: 简易下拉列表  |  依赖下拉列表  |  多选下拉列表...
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  将列与 选择相同和不同的单元格 ...
特色功能: 网格焦点  |  设计图  |  大方程式酒吧  |  工作簿和工作表管理器 | 资源库 (自动文本)  |  日期选择器  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符 ...)  |  50+ 图表 类型 (甘特图 ...)  |  40+ 实用 公式 (根据生日计算年龄 ...)  |  19 插入 工具 (插入二维码, 从路径插入图片 ...)  |  12 转化 工具 (小写金额转大写, 货币兑换 ...)  |  7 合并与拆分 工具 (高级组合行, 拆分 Excel 单元格 ...)  |  ... 和更多

Kutools for Excel 拥有超过 300 个功能, 确保只需点击一下即可获得您所需要的...

产品描述


Office 选项卡 - 在 Microsoft Office(包括 Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 为 Office(包括 Excel)带来高效的选项卡,就像 Chrome、Edge 和 Firefox 一样。
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
عندى اسم خماسي وعاوز لغايه الاسم الرباعى فقط
This comment was minimized by the moderator on the site
Hi,
Please try the below formula:
=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (4-1)*LEN(A2)+1, LEN(A2)))
Hope it can help you!
This comment was minimized by the moderator on the site
Eu gostaria de extrair o primeiro e do meio nomes juntos.
This comment was minimized by the moderator on the site
Eu gostaria de ter uma lista de todos nomes excepto o ultimo. Portanto, uma lista de nome completo sem o sobrenome.
This comment was minimized by the moderator on the site
you are a champ! very helpful!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations