如何在 Excel 中分隔名称

在 Excel 中,很容易通过使用不同的方式将出现在同一列中的名字、中间名和姓氏拆分为不同的列。

假设您收到一个联系人列表,其中所有姓名都列在一个列中,您可能需要将名字、中间名和姓氏分开,然后将它们分成单独的列。您可以使用几种不同的方法来分隔名称 - 通过使用文本到列功能、快速填充和公式。

在 Excel 中,将一列中的名称拆分为两列或更多列非常容易。在本文中,我们将向您展示如何使用不同的方式将名称拆分到excel中的不同列中。

如何在 Excel 中拆分名称

在 Excel 中拆分名称有三种简单的方法。根据数据结构以及您希望拆分名称是静态的还是动态的,选择以下方法之一:

  • 使用文本到列功能拆分名称
  • 使用公式分隔名称
  • 使用快速填充分隔名称

使用文本到列向导分隔名称

文本到列向导是在 Excel 中分隔名字和姓氏以及中间名的最常用方法之一。确保您要拆分的名称旁边有空列,因为全名将被拆分为单独的列。

例如,您有以下带有全名的数据集,并且您想要拆分/分隔名字和姓氏并将它们存储到单独的单元格中。

首先,突出显示要分隔的全名列。然后,转到“数据”选项卡并单击“数据工具”部分中的“文本到列”选项。

将打开将文本转换为列向导。在向导的第一步中,选择“分隔”选项,然后单击“下一步”。

在 Convert Text to Columns Wizard 的 Step 2 of 3 中,选择分隔数据的分隔符,删除任何其他复选标记,然后单击“下一步”。在我们的例子中,“空格”分隔名字和姓氏,所以我们选择这个分隔符。

窗口下方的数据预览部分显示了您的姓名是如何解析的。

在第 3 步(共 3 步)中,选择数据格式和目标,然后单击“完成”。

通常,默认的“常规”适用于大多数类型的数据。在“目的地”字段中,指定要显示输出的位置。您必须指定要显示结果的列中第一个单元格的地址(在我们的示例中为 B2)。

请记住,如果您不指定目标单元格,向导将覆盖原始数据,因此请确保选择一个空列。

单击“完成”按钮后,它会立即将全名分成两个单独的列(名字和姓氏)。

如果您有名字、中间名和姓氏,请按照相同的步骤操作,您的姓名将被分成三列而不是两列。

笔记: 此方法的结果是静态的。这意味着,如果您更改原始名称,则需要重新执行此操作以拆分名称。

用逗号分隔的拆分名称

如果名字和姓氏用逗号分隔,请按照以下步骤删除逗号并拆分名字和姓氏。

在下面的示例中,名称采用反向格式(姓氏、名字)进行格式化,其中姓氏首先出现,后跟逗号,然后是名字。

选择名称并转到数据->文本到列。在第 1 步中,选择“分隔符”并单击“下一步”。在第 2 步中,在分隔符下,选中“逗号”(,) 作为分隔符,因为您的姓名用逗号分隔。

在最后一步,您选择数据格式为“常规”,指定目的地,然后单击“完成”。

现在,您将在单独的列中拥有名称。

使用公式分隔名称

Text to Columns 向导可以快速轻松地分隔名称。但是,如果您想编辑原始名称并希望每次更改名称时都会自动更新的动态方法,那么使用公式拆分名称是正确的选择。您可以使用 LEFT、RIGHT、MID、LEN 和 SEARCH 或 FIND 函数来分隔名称。

使用公式在 Excel 中分隔名字和姓氏

获取名字

假设您有以下数据集,并且您想将名字分隔到一个单独的单元格中。您需要将 FIND 和 LEFT 函数组合到一个公式中以获得名字。

使用以下公式获取名字:

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

此公式使用 FIND 函数查找名字和姓氏之间的空格字符 (“”) 的位置,然后减去 1 以排除空格本身。然后将此编号提供给 LEFT 函数,该函数使用此位置编号提取其之前的所有文本。您还可以使用 SEARCH 函数代替 FIND 函数。

在空单元格 (B2) 中输入公式后,将填充手柄向下拖动到其他单元格以应用此公式,所有名字都已拆分到 B 列中,如下所示:

您可以将 SEARCH 和 FIND 函数嵌套在 LEFT 函数中以提取名字。这两个函数的主要区别在于 FIND 区分大小写,而 SEARCH 不区分大小写。

如果名字和姓氏之间有逗号 (,) 而不是空格,则在 FIND 函数中使用逗号作为第一个参数:

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

获取姓氏

现在,如果您需要提取姓氏,请使用 RIGHT 函数。以下公式将从同一数据集中提取姓氏:

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

该公式首先找到空格字符位置,从字符串的总长度(由 LEN 函数返回)中减去该数字,然后将该数字提供给 RIGHT 函数以从字符串的末尾提取那么多字符(名称)。

使用公式在 Excel 中分隔名字、中间名和姓氏

拆分包含中间名的名称需要不同的公式,具体取决于您拥有的名称格式。

为了得到 如果您有中间名或中间名首字母,请使用您已经熟悉的相同的 LEFT FIND 公式。

获取姓氏

当只有名字和姓氏时,上面的 RIGHT FIND 公式效果很好,如果您的原始姓名包含中间名或中间名首字母,则没有太大用处。这是因为您没有考虑名称中的两个空格字符。

要在您也有中间名时获取姓氏,请使用以下公式:

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

要提取姓氏,首先使用嵌套的 SEARCH 函数确定第二个空格字符的位置,将 SEARCH(" ",A2,1) 加 1 以从下一个字符开始提取。接下来,从字符串总长度中减去第 2 个空格的位置,得到姓氏的长度作为结果编号。然后将此结果数字提供给 RIGHT 函数以从字符串末尾提取字符数。

获取中间名

MID 函数使用三个参数,第一个参数指定文本或单元格地址,第二个指定起始位置,最后一个参数告诉从该位置提取中间名的字符数。

语法:

=MID(文本,s​​tart_num,num_chars)

要获取中间名,请在空白单元格中输入此公式:

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

让我们看看这个复杂的公式是如何工作的:

要提取中间名或中间名首字母,您需要确定两个空格在全名中的位置。要查找第一个空格字符的位置,请输入此 搜索(“”,A2) 在“start_num”参数中调用函数并加 1 以从下一个字符开始提取。

然后,找出中间名的长度,把这个 SEARCH(" ",A2,SEARCH(" ",A2)+1)-SEARCH(" ",A2)-1 'num_chars' 参数中的嵌套函数,它从第二个空格的位置减去第一个空格的位置,并从结果中减去 1 以删除尾随空格。最终结果将告诉您要提取多少个字符。

现在,具有中间名起始位置和数字字符的 MID 函数将中间名与全名 (A2) 分开。

使用快速填充在 Excel 中分隔名称

快速填充主要用于自动填充特定图案的数据。它还可以用于拆分名称。它仅在 Excel 2013、2016、2019 和 365 中可用。

假设您有以下数据集,并且只想从全名中获取名字。

在与原始名称相邻的单元格中,键入名字。在这种情况下,请在单元格 B2 中键入“Steve”。

然后开始在列的第二个单元格中键入名字。在您键入时,如果 Excel 检测到某个模式,Flash Fill 会自动向您显示其他单元格中的名字列表(灰色)。

当您看到灰色的名称列表并且这些名称是正确的时,只需按“Enter”键,快速填充将自动用名字填充列的其余部分。

按照相同的步骤将姓氏分隔到单独的列中。

结果:

Flash Fill 的工作原理是检测该数据中的模式并遵循该模式,同时为您提供修改后的数据。起初,当您在第一个单元格中输入名字时,快速填充无法识别该模式。但是,当您再次在第二个单元格中键入名字时,Flash Fill 会识别该模式并向您显示拆分名字的建议。然后,只需按“Enter”键。

通常,默认情况下启用快速填充功能。如果它在您的 Excel 中不起作用,在第一个单元格中输入名字后,您只需选择第二个单元格,然后从“数据”选项卡上的“数据工具”组中单击“快速填充”按钮。

或者,您也可以按“Ctrl”+“E”来获得相同的结果。

现在,其余的单元格将填写名字。

有时,您可能看不到灰色的图案建议,在这种情况下,您可以使用填充手柄来获取快速填充结果。

首先,在两个单元格中手动键入名称并选择这两个单元格。然后,将光标悬停在选择的右下角。您会注意到光标从一个小的绿色方块(填充图标)变成了一个加号图标。

接下来,双击那个加号图标。这将填充其余的单元格。此时,结果不正确,您会看到两个名字一次又一次地重复。然后,在结果数据的右下角,您将看到一个小的 Auto-Fill 图标,如下所示。单击此“自动填充”图标并选择“快速填充”。

这将在所有单元格中填充名字:

删除中间名

您还可以使用快速填充工具从全名中去除中间名。

例如,假设您有以下数据集,并且您只想获取名字和姓氏,而没有中间名或中间名首字母。

要获得没有中间名或中间名首字母的名字,请在相邻的单元格中手动输入“Lord Stark”。然后,在第二个相邻单元格中,键入“Daenerys Targaryen”。在您打字时,快速填充会识别一个模式,它会向您显示一个没有中间名的名字列表(灰色)。

如果建议是正确的,请按“Enter”键,Flash Fill 将自动使用没有中间名的名称填充其余单元格。

如果您只想获取中间名而没有名字和姓氏,请在前两个单元格中输入中间名,然后使用快速填充工具从列中的所有全名中获取中间名。

本教程展示了如何在操作文本数据时分隔名称。这些方法在处理地址、产品名称、品牌名称等其他形式的数据时也很有帮助。