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

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

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

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

Excel 使此过程变得简单明了,您可以采用许多不同的方法。这是一个教程,可帮助您使用公式创建单独的名字和姓氏列。我们也涵盖了中间名的问题。

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

你从哪里开始?

分隔名字

这是通用公式:

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

要执行它,请替换 细胞 使用包含要拆分的第一个全名的单元格指针。在本例中,您要选择 B2 并输入公式:

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

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

=LEFT(单元格;查找(““;单元格;1)-1)

在示例中,您将使用:

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

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

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

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

逗号还是分号?

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

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

要了解您的 Excel 使用哪个符号,只需开始输入公式即可。当你开始输入 =左(,您将看到一个悬停文本,提示正确的格式。

分隔姓氏

采取相同的方法来分隔姓氏。这一次,您应该使用 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) – 搜索(" ", A2))

或者:

=RIGHT(A2; LEN(A2) – 搜索(" "; 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(cell, SEARCH(" ", cell) + 1, SEARCH(" ", cell, SEARCH(" ", cell)+1) – SEARCH(" ", cell)-1),0)

或者:

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

或者:

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

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

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

要解决此问题,您可以尝试不同的方法来分隔中间名。如果您创建了名字和姓氏列,您可以简单地将它们剪掉。剩下的一切都将算作中间名。

这个公式是:

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

此处,cell1 指的是Full Name 列下的单元格指针,cell2 指的是First Name 列下的单元格指针,而cell3 指的是Last Name 列下的单元格指针。在上面的例子中,我们得到:

=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),0)

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

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

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

  1. 确保 数据 从顶部菜单中选择选项卡并突出显示要转换的列。 Excel 数据选项卡
  2. 然后,点击 文本到列. Excel 文本到列选项
  3. 接下来,确保 定界 被选中并单击 下一个Excel 设置.
  4. 现在,选择 空间 从选项中单击 下一个. Excel 设置 2
  5. 然后,更改 目的地 到 ”$B$2”并点击 结束。Excel 设置 3最终结果应该是这样的。 Excel工作表

最后一句话

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

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

例如,如果一个人的全名以他们的姓开头,那么它就会以错误的方式分开。对于包含前缀或后缀的姓氏,例如 le Carré 或 van Gogh,公式也会出现问题。如果某人的名字以 Jr. 结尾,则会将其列为他们的姓氏。

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