您可以使用 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 的内置将文本转换为列向导。
- 确保 数据 从顶部菜单中选择选项卡并突出显示要转换的列。
- 然后,点击 文本到列.
- 接下来,确保 定界 被选中并单击 下一个.
- 现在,选择 空间 从选项中单击 下一个.
- 然后,更改 目的地 到 ”$B$2”并点击 结束。最终结果应该是这样的。
最后一句话
在 Excel 中还有许多其他方法可以解决此问题。如果所有可用选项都无法满足您的需求,请进行更多研究。
使用公式相对简单,它不依赖于您使用的 Excel 版本。但不幸的是,您仍然可能会遇到错误。
例如,如果一个人的全名以他们的姓开头,那么它就会以错误的方式分开。对于包含前缀或后缀的姓氏,例如 le Carré 或 van Gogh,公式也会出现问题。如果某人的名字以 Jr. 结尾,则会将其列为他们的姓氏。
但是,您可以添加一些修改来解决出现的这些问题。使用公式可为您提供解决这些复杂性所需的灵活性。