网站搜索

如何在 Excel 中分隔名字和姓氏


您可以使用 Excel 将信息分解为更小的部分。查找所需的数据并对其进行操作是许多 Excel 用户的重要目标。

如果您有某人的全名,您可能需要将他们的名字或姓氏归零。例如,如果您要向客户发送一封友好的自动电子邮件,则需要使用他们的名字以避免听起来不近人情。如果您正在查看民意调查受访者的列表,仅使用他们的姓氏或隐藏他们的姓氏以保持匿名可能很重要。

Excel 使这个过程变得简单,并且您可以采用多种不同的方法。以下教程将帮助您使用公式创建单独的名字和姓氏列。我们也讨论中间名的问题。

将名称拆分为多个部分的 Excel 公式

你从哪里开始?

分隔名字

这是通用公式:

=LEFT(单元格,FIND(” “,单元格,1)-1)

要执行它,请将 cell 替换为包含要拆分的第一个全名的单元格指针。在此示例中,您要选择 B2 并输入公式:

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

但是,请务必注意,在某些设备上,此公式使用分号而不是逗号。因此,如果上述公式不适合您,您可能需要使用以下版本:

=LEFT(单元格;FIND(” “;单元格;1)-1)

在示例中,您将使用:

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

现在,您只需将填充柄向下拖动到“名字”列的末尾即可。

LEFT 函数可让您从文本的左端开始分隔字符串。此公式的 FIND 部分定位全名中的第一个空格,因此您可以获得全名中空格之前的部分。

因此,带有连字符的名字会保持在一起,包含特殊字符的名字也是如此。但您的全名列不会包含中间名或中间名首字母。

逗号还是分号?

为什么每个人的公式不一样?

对于许多 Excel 用户来说,Excel 函数使用逗号来分隔输入数据。但在某些设备上,区域设置有所不同。

要了解 Excel 使用的符号,只需开始输入公式即可。当您开始输入=LEFT(时,您将看到一个悬停文本,其中会建议正确的格式。

分隔姓氏

采用相同的方法来分隔姓氏。这次,您应该使用 RIGHT 公式,该公式从右侧开始分隔字符串。

您需要的公式是:

=RIGHT(cell, LEN(cell) – SEARCH(“#”, SUBSTITUTE(cell,” “, “#”, LEN(cell) – LEN(SUBSTITUTE(cell, ” “, “”)))) )

在上面的示例中,您将在单元格 C2 中使用以下公式:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2," ","#",LEN(A2)-LEN(SUBSTITUTE(A2," ","") ))))

再次,您可能需要从逗号切换为分号,这意味着您可能需要使用:

=RIGHT(A2;LEN(A2)-SEARCH("#";SUBSTITUTE(A2;" ";"#";LEN(A2)-LEN(SUBSTITUTE(A2;" ";"") ))))

带连字符的姓氏和带有特殊字符的姓氏保持不变。

为什么这个公式比名字的公式更复杂?将中间名和中间名首字母与姓氏分开更加困难。

如果您希望中间名和首字母与姓氏一起列出,可以使用以下公式:

=RIGHT(cell, LEN(cell) – SEARCH(“ “, cell))

或者 :

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

或者 :

=RIGHT(A2;LEN(A2)-SEARCH(" ";A2))

但是如果你想分隔中间名怎么办?这种情况不太常见,但了解一下很有用。

分隔中间名

中间名的公式如下:

=MID(cell, SEARCH(“ ”, cell) + 1, SEARCH(“ “, cell, SEARCH(” “, cell)+1) – SEARCH(” “, cell)-1)

在上面的示例中,您将得到:

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

如果您的 Excel 使用分号,则公式为:

=MID(A2;SEARCH(" ";A2)+1;SEARCH(" ";A2;SEARCH(" ";A2)+1)-SEARCH(" ";A2)-1)<

输入公式后,向下拖动填充柄。以下是添加到上面示例中的中间名列:

如果全名不包含中间名或首字母缩写,则此列中的值为零,可能显示为#VALUE!。要获取空白单元格来代替 #VALUE!,您可以使用 IFERROR 函数。

然后,你的公式就变成:

=IFERROR(MID(单元格,SEARCH(“ ”,单元格) + 1,SEARCH(“ “,单元格,SEARCH(” “,单元格)+1) – SEARCH(“ “,单元格)-1),” ”)

或者 :

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

或者 :

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

分隔多个中间名的一种方法

如果您名单上的某个人有多个中间名,会发生什么?使用上述公式,只会检索他们的第一个中间名。

要解决此问题,您可以尝试使用不同的方法来分隔中间名。如果您创建了名字和姓氏列,则只需将它们删除即可。剩下的所有内容都将算作中间名。

这个公式是:

=TRIM(MID(cell1,LEN(cell2)+1,LEN(cell1)-LEN(cell2&cell3)))

此处,cell1 指“全名”列下的单元格指针,cell2 指“名字”列下的单元格指针,而 cell3 指“姓氏”列下的单元格指针。在上面的例子中,我们得到:

=TRIM(MID(A2,LEN(B2)+1,LEN(A2)-LEN(B2&D2)))

或者 :

=TRIM(MID(A2;LEN(B2)+1;LEN(A2)-LEN(B2&D2)))

如果您使用这个公式,您就不必担心零值。

快速回顾

以下是可用于将全名拆分为多个部分的公式:

名字:=LEFT(cell,FIND(“ “,cell,1)-1)

姓氏:=RIGHT(cell, LEN(cell) – SEARCH(“#”, SUBSTITUTE(cell,” “, “#”, LEN(cell) – LEN(SUBSTITUTE(cell, ” “, “”) ))))

中间名:=IFERROR(MID(cell, SEARCH(" ", cell) + 1, SEARCH(" ", cell, SEARCH(" ", cell)+1) – SEARCH(" ", cell)-1 ),””)

中间名的替代公式: =TRIM(MID(cell1,LEN(cell2)+1,LEN(cell1)-LEN(cell2&cell3)))

不使用公式分隔名字和姓氏

如果您不想输入一堆可能会输入错误的公式,那么可以利用 Excel 的内置“将文本转换为列向导”。

  1. 确保从顶部菜单中选择数据选项卡,并突出显示要转换的列。

  2. 然后,点击文本到列

  3. 接下来,确保选择分隔符,然后点击下一步

  4. 现在,从选项中选择空格,然后点击下一步

  5. 然后,将目标更改为“$B$2”,然后点击完成

最后一句话

Excel 中还有许多其他方法可以解决此问题。如果所有可用选项都不能满足您的需要,请进行更多研究。

使用公式相对简单,并且不依赖于您使用的 Excel 版本。但不幸的是,您仍然可能会遇到错误。

例如,如果一个人的全名以姓氏开头,那么它会以错误的方式分开。这些公式在处理包含前缀或后缀的姓氏时也会遇到问题,例如 le Carré 或 van Gogh。如果某人的名字以 Jr. 结尾,则该名字将被列为其姓氏。

但是,您可以添加一些修改来解决这些出现的问题。使用公式可以为您提供解决这些复杂性所需的灵活性。

相关文章