在Excel中拆分名字:将名字和姓氏分开到不同的列中

  • Share This
Michael Brown

本教程展示了如何在Excel中用公式或文本转列来分隔名字和姓氏,以及如何快速将一列名字以各种格式分割成名、姓和中间名、敬语和后缀。

在Excel中很常见的情况是,你的工作表包含一列全名,而你想把名字和姓氏分割成不同的列。 这个任务可以通过几种不同的方式来完成--使用文本到列功能、公式和分割名字工具。 下面你会发现每种技术的全部细节。

    如何在Excel中用文本转列法分割名字

    当你有一列相同模式的名字时,例如只有名字和姓氏,或名字、中间名和姓氏,最简单的方法是这样把它们分成不同的列。

    1. 选择你想分开的那一列全名。
    2. 前往 数据 标签> 数据工具 组,并点击 文本到列 .
    3. 在第一步的 将文本转换为列的向导 ,选择 划线 选项,并点击 下一页 .
    4. 在下一步,选择一个或多个 分隔符 并点击 下一页 .

      在我们的案例中,名字的不同部分是用空格分隔的,所以我们选择了这种分隔符。 The 数据预览 部分显示,我们所有的名字都被解析得很好。

      提示:如果你处理的名字是用 逗号和空格 喜欢 安德森,罗尼 ,然后检查 逗号 空间 箱子下 分隔符 ,并选择 将连续的分隔符视为一个 复选框(通常为默认选择)。

    5. 在最后一步,你选择 数据格式 目的地 ,然后点击 完成 .

      默认情况下 一般 在大多数情况下都很好用。 由于 目的地 ,指定你想输出结果的那一列的最上面的单元格(请记住,这将覆盖任何现有的数据,所以一定要选择一个空列)。

    完成了!名字、中间名和姓氏被分为不同的列。

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

    正如你们刚才看到的, 文本到列 然而,如果你打算对原始名称做任何改变,并寻找一个能自动更新的动态解决方案,你最好用公式划分名称。

    如何从全名中用空格分割出名字和姓氏

    这些公式涵盖了最典型的情况,当你把名字和姓氏放在一列中,用""隔开时。 单一空间字符 .

    获得名字的公式

    用这个通用公式可以很容易地提取出第一个名字。

    LEFT( 电池 , SEARCH(" ", 电池 ) - 1)

    你使用SEARCH或FIND函数来获得空格字符("")在单元格中的位置,从中减去1以排除空格本身。 这个数字被提供给LEFT函数作为要提取的字符数,从字符串的左边开始。

    获取姓氏的公式

    提取一个姓氏的通用公式是这样的。

    右图( 电池 , LEN( 电池 ) - 搜索(" ", 电池 ))

    在这个公式中,你还用SEARCH函数找到空格符的位置,用这个数字减去字符串的总长度(由LEN返回),然后得到RIGHT函数,从字符串的右侧提取该数量的字符。

    在A2单元格中的全名,公式如下。

    获取 第一个名字 :

    =left(a2,search(" ",a2)-1)

    获取 姓氏 :

    =right(a2,len(a2)-search(" ",a2,1))

    你在B2和C2单元格中分别输入公式,然后拖动填充柄将公式复制到下一列。 结果将类似于这样。

    如果一些原始名称中包含一个 中间的名字 中文字首 ,你需要一个更棘手的公式来提取姓氏。

    =right(a2, len(a2) - search("#", substitute(a2," ", "#", len(a2) - len( substitute(a2, " ", "))))))

    以下是对该公式逻辑的高层次解释:你用哈希符号(#)或其他不出现在任何名字中的字符替换名字中的最后一个空格,并计算出该字符的位置。 之后,你从字符串总长度中减去上述数字,得到最后一个名字的长度,并让RIGHT函数提取该数量的字符。

    因此,当一些原始姓名包括中间名时,你可以在Excel中分离出名和姓。

    如何用逗号将名字和姓氏从姓名中分开

    如果你有一列名字在 姓,名 格式,你可以通过使用以下公式让它们被分成不同的列。

    提取名字的公式

    右图( 电池 , LEN( 电池 ) - 搜索(" ", 电池 ))

    就像上面的例子一样,你使用SEARCH函数来确定一个空格字符的位置,然后从字符串总长度中减去它,得到第一个名字的长度。 这个数字直接进入到 num_chars RIGHT函数的参数,表明要从字符串的末尾提取多少个字符。

    提取姓氏的公式

    LEFT( 电池 , SEARCH(" ", 电池 ) - 2)

    为了得到一个姓氏,你使用上一个例子中讨论的LEFT SEARCH组合,不同的是你减去2而不是1,以考虑到两个额外的字符,一个逗号和一个空格。

    在A2单元格的全名下,公式的形状如下。

    获取 第一个名字 :

    =right(a2, len(a2) - search(" ", a2))

    获取 姓氏 :

    =left(a2, search(" ", a2) - 2)

    下面的屏幕截图显示了结果。

    如何将全名分割成名、姓和中间名

    分割包含中间名或中间首字母的名字需要略微不同的方法,这取决于名字的格式。

    如果你们的名字是在 名 中间名 最后名 格式,下面的公式会有很好的效果。

    A B C D
    1 全名 名字 中间名 姓氏
    2 名 中间名 最后名 =left(a2,search(" ", a2)-1) =mid(a2, search(" ", a2) + 1, search(" ", a2, search(" ", a2) +1) - search(" ", a2)-1) =right(a2,len(a2) - search(" ", a2, search(" ", a2,1)+1))
    结果。 大卫-马克-怀特 大卫 马克

    为了获得 第一个名字 ,你使用已经熟悉的LEFT搜索公式。

    为了获得 姓氏 然后,你将上述数字提供给RIGHT函数,指示它从字符串的末尾拉出该数量的字符。

    为了提取 中间的名字 你需要知道名字中两个空格的位置。 为了确定第一个空格的位置,使用简单的SEARCH(" ",A2)函数,在其中加1,从下一个字符开始提取。 这个数字会进入到 start_num 要计算中间名的长度,你要用第一个空格的位置减去第二个空格的位置,从结果中减去1以除去尾部空格,然后把这个数字放入 num_chars MID的参数,告诉它要提取多少个字符。

    而这里的公式是用来分开的名字 姓,名 中间名 类型。

    A B C D
    1 全名 名字 中间的名字 姓氏
    2 姓,名,中名 =mid(a2, search(" ", a2) + 1, search(" ", a2, search(" ", a2) + 1) - search(" ", a2) -1) =right(a2, len(a2) - search(" ", a2, search(" ", a2, 1)+1)) =left(a2, search(" ",a2,1)-2)
    结果。 怀特,大卫-马克 大卫 马克

    类似的方法可以用来分割带有后缀的名字。

    A B C D
    1 全名 名字 姓氏 后缀
    2 姓氏,后缀 =left(a2, search(" ",a2)-1) =mid(a2, search(" ",a2) + 1, search(" ," ,a2) - search(" ",a2)-1) =right(a2, len(a2) - search(" ", a2, search(" ", a2)+1))
    结果。 罗伯特-弗兰,小。 罗伯特 芙兰 Jr.

    这就是如何通过使用不同的函数组合来分割Excel中的名字。 为了更好地理解并可能逆向开发这些公式,欢迎下载我们的样本工作簿《在Excel中分割名字》。

    提示:在Excel 365中,你可以利用TEXTSPLIT功能,用你指定的任何分隔符分隔名字。

    在Excel 2013、2016和2019中用Flash填充分离名称

    大家都知道,Excel的Flash填充可以快速填充特定模式的数据。 但你知道它也可以分割数据吗? 下面是方法。

    1. 在有原始姓名的列旁边添加一个新的列,并在第一个单元格中输入你想提取的姓名部分(本例中的第一个姓名)。
    2. 在第二个单元格中开始输入名字。 如果Excel感觉到一个模式(在大多数情况下它会这样做),它将自动填充所有其他单元格中的名字。
    3. 你现在所要做的就是按下回车键 :)

    提示:通常情况下,"闪光填充 "功能是默认启用的。 如果它在你的Excel中不工作,点击 闪光填充 上的按钮。 数据 标签> 数据工具 如果还是不行,那就到 文件 > 选择 ,点击 高级 ,并确保 自动闪光填充 框下选择了 编辑选项 .

    分割名称工具--在Excel中分割名称的最快方法

    普通的或棘手的、文本到列、Flash填充和公式只对同质的数据集有很好的效果,其中所有的名字都是相同的类型。 如果你要处理不同的名字格式,上述方法会把你的工作表弄得一团糟,例如把一些名字部分放在错误的列中或返回错误。

    在这种情况下,你可以把工作交给我们的拆分名字工具,它可以完美地识别多部分的名字,超过80个敬语和大约30个不同的后缀,并在所有版本的Excel 2016到Excel 2007上顺利运行。

    在你的Excel中安装了我们的Ultimate Suite,一列不同格式的名字可以通过2个简单的步骤进行分割。

    1. 选择任何包含你想分离的名字的单元格,并点击 分割名称 上的图标。 阿博比特数据 标签> 文本 组。
    2. 选择所需的名称部分(在我们的例子中是所有的),点击 分割 .

    完成了!名字的不同部分完全按照它们应该有的样子分布在几栏中,而且为了方便你,还自动添加了栏头。 没有公式,没有摆弄逗号和空格,一点也不痛苦。

    如果你很想在自己的工作表中试用拆分名称工具,请随时下载Excel终极套件的评估版。

    可用的下载

    在Excel(.xlsx文件)中分割名称的公式

    终极套装14天全功能版(.exe文件)。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.