使用函数将文本拆分到不同列中

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Excel Web App

可以使用 LEFT、MID、RIGHT、SEARCH 和 LEN 文本函数来操作数据中的文本字符串。 例如,可以将单个单元格中的名字、中间名和姓氏分布到三个单独的列中。

使用文本函数分发名称组件的关键是文本字符串中每个字符的位置。 文本字符串中空格的位置也很重要,因为它们指示字符串中名称组件的开头或结尾。

例如,在仅包含名字和姓氏的单元格中,姓氏在空格的第一个实例之后开头。 列表中的某些名称可能包含中间名,在这种情况下,姓氏在空格的第二个实例之后开头。

本文介绍如何使用这些方便的函数从各种名称格式中提取各种组件。 还可以使用“文本分列向导”将文本拆分为不同的列

示例名称 说明 名字 中间名 姓氏 后缀
1 Jeff Smith 无中间名 Jeff Smith
2 Eric S. Kurjan 一个中间首字母 Eric S. 库尔强语
3 贾奈娜·布埃诺 两个中间字母缩写 Janaina B. G. Bueno
4 Kahn, Wendy Beth 姓氏在前,加上逗号 Wendy 贝丝 Kahn
5 玫琳凯·安徒生 由两部分组成的名字 玫琳凯 D. Andersen
6 Paula Barreto de Mattos 三部分姓氏 Paula 巴雷托·德·马托斯
7 James van Eaton 两部分的姓氏 James van Eaton
8 小培根,丹 K. 姓氏和后缀排在前面,加上逗号 Dan K. 培根 Jr.
9 加里·奥特曼三世 带后缀 加里 Altman III
10 Ryan Ihrig 先生 带前缀 Ryan Ihrig
11 朱莉·塔夫脱-莱德 带连字符的姓氏 任月英 Taft-Rider

注意

在以下示例的图形中,全名中的突出显示显示匹配的 SEARCH 公式要查找的字符。

示例 1:将 Jeff 和 Smith 分开

此示例分隔两个组件:名字和姓氏。 两个名称之间用一个空格分隔。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Jeff Smith 无中间名
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) )
  1. 名字
    名字从字符串中的第一个字符 (J) 开始,到第五个字符(空格)结束。 该公式返回 A2 中的五个字符(从左侧开始)。

    用于提取名字的公式

    使用函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索空格的数值位置(从左侧开始)。

  2. 姓氏
    姓氏从空格(右侧第五个字符)开始,到右侧最后一个字符 (h) 结束。 该公式提取 A2 中的五个字符(从右侧开始)。

    用于提取姓氏的公式

    使用函数 SEARCH 和 LEN 查找 num_chars 的值:
    在 A2 中搜索空格的数值位置(从左侧开始)。 (5)

  3. 统计文本字符串的总长度,然后减去步骤 1 中发现的第一个空格左侧的字符数。

示例 2:Eric S. Kurjan:提取名字和姓氏以及中间名首字母

此示例使用名字、中间名首字母缩写和姓氏。 每个名称组件之间有一个空格分隔。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Eric S. Kurjan 一个中间首字母
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (中间初始)
'=MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -SEARCH (“ ”,A2,1) ) =MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -SEARCH (“ ”,A2,1) )
公式 实时结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
  1. 名字
    第一个名称从 E) 左 (第一个字符开始,到第一个空格) (第五个字符结尾。 公式从左侧开始提取 A2 中的前五个字符。

    用于分隔名字和姓氏以及中间名首字母的公式

    使用函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索空格的数值位置(从左侧开始)。 (5)

  2. 中间名
    中间名从 S) (第六个字符位置开始,到第二个空格) (第八个位置结束。 此公式涉及嵌套 SEARCH 函数以查找空格的第二个实例。
    公式从第六个位置开始提取三个字符。

    用于分隔名字、中间名和姓氏的公式详细信息

    使用函数 SEARCH 查找 start_num 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (5) 。

  3. 添加 1 以获取字符在第一个空格 (S) 后的位置。 此数字位置是中间名的起始位置。 (5 + 1 = 6)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (5)

  4. 添加 1 以获取字符在第一个空格 (S) 后的位置。 结果是您要开始搜索空间的第二个实例的字符编号。 (5 + 1 = 6)

  5. 在 A2 中搜索空格的第二个实例,从步骤 4 中找到的第六个位置 (S) 开始。 此字符编号是中间名的结尾位置。 (8)

  6. 在 A2 中搜索空格的数字位置,从左起第一个字符开始。 (5)

  7. 采用在步骤 5 中发现的第二个空格的字符编号,然后减去在步骤 6 中发现的第一个空格的字符编号。 结果是从步骤 2 中找到的第六个位置开始,从 MID 从文本字符串中提取的字符数。 (8 – 5 = 3)

  8. 姓氏
    姓氏从右 (K) 开始六个字符,到右 (n) 的第一个字符结尾。 此公式涉及嵌套 SEARCH 函数以查找空格 (的第二个和第三个实例,它们位于左) 的第五和第八个位置。
    公式从右起提取 A2 中的六个字符。

    公式中的第二个 SEARCH 函数,用于分隔名字、中间名和姓氏

  9. 使用 LEN 和嵌套 SEARCH 函数查找num_chars值:
    在 A2 中搜索空格的数字位置,从左起第一个字符开始。 (5)

  10. 添加 1 以获取字符在第一个空格 (S) 后的位置。 结果是您要开始搜索空间的第二个实例的字符编号。 (5 + 1 = 6)

  11. 在 A2 中搜索空格的第二个实例,从步骤 2 中找到的第 6 个位置开始 (S) 。 此字符编号是中间名的结尾位置。 (8)

  12. 计算 A2 中文本字符串的总长度,然后从左侧减去字符数,直至步骤 3 中找到的第二个空格实例。 其结果是要从全名的右侧提取的字符数。 (14 – 8 = 6) 。

示例 3:Janaina B. G. Bueno

下面是如何提取两个中间名首字母缩写的示例。 第一个和第三个空格实例分隔名称组件。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
贾奈娜·布埃诺 两个中间字母缩写
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 中间首字母缩写 (结果)
'=MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) -SEARCH (“ ”,A2,1) ) =MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) -SEARCH (“ ”,A2,1) )
公式 实时结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) )
  1. 名字
    第一个名称从 J) 左 (第一个字符开始,到第一个空格) (第八个字符结尾。 该公式从左侧开始提取 A2 中的前八个字符。

    用于分隔名字、姓氏和两个中间名首写字母的公式

    使用函数 SEARCH 查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (8)

  2. 中间名
    中间名从 B) (第九位开始,到第三个空格) (第十四位结束。 此公式涉及嵌套 SEARCH 以查找第八、第十一和十四个位置的第一个、第二个和第三个空间实例。
    公式从第九个位置开始提取五个字符。

    用于分隔名字、姓氏和两个中间名首写字母的公式

    使用函数 SEARCH 查找 start_num 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (8)

  3. 加 1 以获取字符在第一个空格 (B) 后的位置。 此数字位置是中间名的起始位置。 (8 + 1 = 9)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (8)

  4. 加 1 以获取字符在第一个空格 (B) 后的位置。 结果是您要开始搜索空间的第二个实例的字符编号。 (8 + 1 = 9)

  5. 在 A2 中搜索第二个空格,从步骤 4 中找到的第 9 个位置开始 (B) 开始。 (11) 。

  6. 添加 1 以获取字符在第二个空格 (G) 后的位置。 此字符编号是您要开始搜索第三个空格的起始位置。 (11 + 1 = 12)

  7. 在 A2 中搜索第三个空格,从步骤 6 中找到的第 12 个位置开始。 (14)

  8. 在 A2 中搜索第一个空格的数字位置。 (8)

  9. 取步骤 7 中找到的第三个空格的字符号,减去步骤 6 中找到的第一个空格的字符号。 结果是从步骤 2 中找到的第 9 个位置开始的文本字符串 MID 提取的字符数。

  10. 姓氏
    姓氏从右 (B) 开始五个字符,到右 (o) 的第一个字符结束。 此公式涉及嵌套 SEARCH 以查找空间的第一个、第二个和第三个实例。
    该公式从 A2 中从全名右侧开始提取五个字符。

    用于分隔名字、姓氏和两个中间名首写字母的公式

    使用嵌套的 SEARCH 和 LEN 函数查找num_chars值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (8)

  11. 加 1 以获取字符在第一个空格 (B) 后的位置。 结果是您要开始搜索空间的第二个实例的字符编号。 (8 + 1 = 9)

  12. 从 B (步骤 2 中找到的第九个位置开始搜索 A2 中的第二个空格) 。 (11)

  13. 添加 1 以获取字符在第二个空格 (G) 后的位置。 此字符编号是您要开始搜索空间的第三个实例的起始位置。 (11 + 1 = 12)

  14. 在 A2 中搜索第三个空格,从步骤 6 中找到的第 12 位 G (开始) 。 (14)

  15. 计算 A2 中文本字符串的总长度,然后从左侧减去字符数,直到步骤 5 中找到的第三个空格。 其结果是要从全名的右侧提取的字符数。 (19 - 14 = 5)

示例 4:Kahn、Wendy Beth

在此示例中,姓氏在名字前面,中间名在末尾显示。 逗号标记姓氏的结尾,每个名称组件之间用空格分隔。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Kahn, Wendy Beth 姓氏在前,加上逗号
公式 结果 (名字)
'=MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -SEARCH (“ ”,A2,1) ) =MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -SEARCH (“ ”,A2,1) )
公式 中间名) (结果
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
公式 实时结果 (姓氏)
'=LEFT (A2, SEARCH (“ ”,A2,1) -2) =LEFT (A2, SEARCH (“ ”,A2,1) -2)
  1. 名字
    名字从左侧的第七个字符 (W) 开始,到第十二个字符(第二个空格)结束。 因为名字显示在全名的中间,所以您需要使用 MID 函数提取第一个名字。
    公式从第七个位置开始提取六个字符。

    用于分隔后接名字和中间名的姓氏的公式

    使用函数 SEARCH 查找 start_num 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (6)

  2. 加 1 以获取第一个空格后面的字符 (W) 的位置。 该数值位置是名字的开始位置。 (6 + 1 = 7)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (6)

  3. 加 1 以获取第一个空格后面的字符 (W) 的位置。 结果是要从其开始搜索第二个空格的字符编号。 (6 + 1 = 7)
    在 A2 中搜索第二个空格(从在步骤 4 中发现的第七个位置开始)。 (12)

  4. 在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (6)

  5. 采用在步骤 5 中发现的第二个空格的字符编号,然后减去在步骤 6 中发现的第一个空格的字符编号。 结果是 MID 从文本字符串(从在步骤 2 中发现的第七个位置开始)中提取的字符数。 (12 - 6 = 6)

  6. 中间名
    中间名从右侧第四个字符 (B) 开始,到右侧第一个字符 (h) 结束。 该公式包含嵌套函数 SEARCH,用于从左侧第六个和第十二个位置查找第一和第二处空格。
    公式从右开始提取四个字符。

    用于分隔后接名字和中间名的姓氏的公式

    使用嵌套函数 SEARCH 和 LEN 查找 start_num 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (6)

  7. 加 1 以获取第一个空格后面的字符 (W) 的位置。 结果是要从其开始搜索第二个空格的字符编号。 (6 + 1 = 7)

  8. 在 A2 中搜索第二处空格(从在步骤 2 中发现的第七个位置 (W) 开始)。 (12)

  9. 统计 A2 中的文本字符串的总长度,然后减去从左侧开始到在步骤 3 中发现的第二个空格的字符数。 其结果是要从全名的右侧提取的字符数。 (16 - 12 = 4)

  10. 姓氏
    姓氏从左侧第一个字符 (K) 开始,到第四个字符 (n) 结束。 该公式提取四个字符(从左侧开始)。

    用于分隔后接名字和中间名的姓氏的公式

    使用函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (6)

  11. 减去 2 可得到姓氏结尾字符的数字位置 (n) 。 结果是您希望 LEFT 提取的字符数。 (6 - 2 =4)

示例 5:玫琳凯·安徒生

本示例使用由两部分组成的名字 Mary Kay。 第二个和第三个空格分隔每个名称组件。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
玫琳凯·安徒生 由两部分组成的名字
公式 结果 (名字)
左 (A2,搜索 (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =LEFT (A2, SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
公式 结果 (中间初始)
'=MID (A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) - (SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) ) =MID (A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) - (SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) )
公式 实时结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) )
  1. 名字
    第一个名称从左起的第一个字符开始,到第二个空格) (第九个字符结尾。 此公式涉及嵌套 SEARCH 以从左侧查找空间的第二个实例。
    公式从左开始提取 9 个字符。

    用于分隔名字、中间名、中间名首写字母和姓氏的公式

    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (5)

  2. 加 1 可获取字符在第一个空格 (K) 后的位置。 结果是您要开始搜索空间的第二个实例的字符编号。 (5 + 1 = 6)

  3. 在 A2 中搜索第二个空格实例,从步骤 2 中找到的 K (第六个位置开始) 。 结果是 LEFT 从文本字符串中提取的字符数。 (9)

  4. 中间名
    中间名从 D) (第十个位置开始,到第三个空格) (第十二个位置结束。 此公式涉及嵌套 SEARCH 以查找空间的第一个、第二个和第三个实例。
    公式从中间提取两个字符,从第十个位置开始。

    用于分隔名字、中间名、中间名首写字母和姓氏的公式

    使用嵌套的 SEARCH 函数查找start_num值:
    在 A2 中搜索第一个空格的数值位置(从左侧第一个字符开始)。 (5)

  5. 加 1 以获取第一个空格 (K) 之后的字符。 结果是要从其开始搜索第二个空格的字符编号。 (5 + 1 = 6)

  6. 从步骤 2 中找到的第 6 个位置 (K) 开始,搜索 A2 中第二个空间实例的位置。 结果是 LEFT 从左侧提取的字符数。 (9)

  7. 加 1 可获取 D) (第二个空格后的字符。 结果是中间名的起始位置。 (9 + 1 = 10)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 D) (第 2 个空格后搜索字符的数字位置。 结果是您开始搜索第三个空格的字符编号。 (10)

  8. 从左侧开始搜索 A2 中第三个空格的数字位置。 结果是中间名的结尾位置。 (12)

  9. 在 D) (第 2 个空格后搜索字符的数字位置。 结果是中间名的开头位置。 (10)

  10. 取步骤 6 中找到的第三个空格的字符编号,减去步骤 7 中找到的“D”的字符编号。 结果是从文本字符串 MID 从步骤 4 中找到的第十个位置开始提取的字符数。 (12 - 10 = 2)

  11. 姓氏
    姓氏从右起八个字符开始。 此公式涉及嵌套 SEARCH 以查找位于第五、第九和第十二个位置的第一个、第二个和第三个空间实例。
    公式从右侧提取八个字符。

    用于分隔名字、中间名、中间名首写字母和姓氏的公式

    使用嵌套的 SEARCH 和 LEN 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (5)

  12. 加 1 以获取第一个空格 (K) 之后的字符。 结果是您要开始搜索空格的字符编号。 (5 + 1 = 6)

  13. 在 A2 中搜索第二个空格,从步骤 2 中找到的第六位 K (开始) 。 (9)

  14. 加 1 以获取字符在第二个空格 (D) 后的位置。 结果是中间名的起始位置。 (9 + 1 = 10)

  15. 从左侧开始搜索 A2 中第三个空格的数字位置。 结果是中间名的结尾位置。 (12)

  16. 计算 A2 中文本字符串的总长度,然后从左侧减去字符数,直到步骤 5 中找到的第三个空格。 其结果是要从全名的右侧提取的字符数。 (20 - 12 = 8)

示例 6:Paula Barreto de Mattos

此示例使用由三部分组成的姓氏:Barreto de Mattos。 第一个空格标记名字的结尾和姓氏的开头。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Paula Barreto de Mattos 三部分姓氏
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (姓氏)
右 (A2,LEN (A2) -SEARCH (“ ”,A2,1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) )
  1. 名字
    第一个名称从 P) 左 (第一个字符开始,到第一个空格) (第六个字符结尾。 公式从左侧提取六个字符。

    用于分隔名字和由三部分组成的姓氏的公式

    使用 Search 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  2. 姓氏
    姓氏从右 (B) 开始 17 个字符,以右 (S) 的第一个字符结尾。 公式从右侧提取十七个字符。

    用于分隔名字和由三部分组成的姓氏的公式

    使用 LEN 和 SEARCH 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  3. 计算 A2 中文本字符串的总长度,然后减去从左侧到步骤 1 中找到的第一个空格的字符数。 其结果是要从全名的右侧提取的字符数。 (23 - 6 = 17)

示例 7:James van Eaton

此示例使用两部分的姓氏:van Eaton。 第一个空格标记名字的结尾和姓氏的开头。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
James van Eaton 两部分的姓氏
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) )
  1. 名字
    第一个名称从 J) 左 (第一个字符开始,到第一个空格) (第八个字符结尾。 公式从左侧提取六个字符。

    用于分隔名字以及由两个部分组成的姓氏的公式

    使用函数 SEARCH 查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  2. 姓氏
    姓氏从右 (v) 的第九个字符开始,到右 (n) 的第一个字符结束。 公式从全名右侧提取 9 个字符。

    用于分隔名字以及由两个部分组成的姓氏的公式

    使用 LEN 和 SEARCH 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  3. 计算 A2 中文本字符串的总长度,然后减去从左侧到步骤 1 中找到的第一个空格的字符数。 其结果是要从全名的右侧提取的字符数。 (15 - 6 = 9)

示例 8:Bacon Jr.、Dan K.

在此示例中,姓氏排在前面,后跟后缀。 逗号将姓氏和后缀与名字和中间名首字母分隔开来。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
小培根,丹 K. 姓氏和后缀排在前面,加上逗号
公式 结果 (名字)
'=MID (A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =MID (A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
公式 结果 (中间初始)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) +1) )
公式 结果 (姓氏)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 后缀) (结果
'=MID (A2,SEARCH (“ ”, A2,1) +1, (SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -2) -SEARCH (“ ”,A2,1) ) =MID (A2,SEARCH (“ ”, A2,1) +1, (SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) -2) -SEARCH (“ ”,A2,1) )
  1. 名字
    第一个名称以 D) (第十二个字符开头,以第三个空格) (第 15 个字符结尾。 公式从第 12 个位置开始提取三个字符。

    姓氏和后缀在前用逗号分隔的公式

    使用嵌套的 SEARCH 函数查找start_num值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  2. 加 1 可获取 J) (第一个空格后的字符。 结果是要从其开始搜索第二个空格的字符编号。 (6 + 1 = 7)

  3. 从步骤 2 中找到的 J) (第七个位置开始,在 A2 中搜索第二个空格。 (11)

  4. 加 1 可获取 D) (第二个空格后的字符。 结果是名字的起始位置。 (11 + 1 = 12)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    在 D) (第 2 个空格后搜索字符的数字位置。 结果是您开始搜索第三个空格的字符编号。 (12)

  5. 从左侧开始搜索 A2 中第三个空格的数字位置。 结果是名字的结尾位置。 (15)

  6. 在 D) (第 2 个空格后搜索字符的数字位置。 结果是名字的起始位置。 (12)

  7. 取步骤 6 中找到的第三个空格的字符编号,减去步骤 7 中找到的“D”的字符编号。 结果是从第 12 个位置开始的文本字符串 MID 提取的字符数,如步骤 4 中找到。 (15 - 12 = 3)

  8. 中间名
    中间名以右起第二个字符开头 (K) 。 公式从右侧提取两个字符。

    姓氏和后缀在前用逗号分隔的公式

    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  9. 加 1 可获取 J) (第一个空格后的字符。 结果是要从其开始搜索第二个空格的字符编号。 (6 + 1 = 7)

  10. 从步骤 2 中找到的 J) (第七个位置开始,在 A2 中搜索第二个空格。 (11)

  11. 加 1 可获取 D) (第二个空格后的字符。 结果是名字的起始位置。 (11 + 1 = 12)

  12. 从左侧开始搜索 A2 中第三个空格的数字位置。 结果是中间名的结尾位置。 (15)

  13. 计算 A2 中文本字符串的总长度,然后从左侧到步骤 5 中找到的第三个空格减去字符数。 其结果是要从全名的右侧提取的字符数。 (17 - 15 = 2)

  14. 姓氏
    姓氏从 B) 左起 (第一个字符开始,到第一个空格) (第六个字符结束。 因此,公式从左侧提取六个字符。

    姓氏和后缀在前用逗号分隔的公式

    使用函数 SEARCH 查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  15. 后缀
    后缀从 J) 左起第七个字符 (开始,到左侧 (.) 的第九个字符结束。 公式从第七个字符开始提取三个字符。

    姓氏和后缀在前用逗号分隔的公式

    使用函数 SEARCH 查找 start_num 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  16. 加 1 可获取 J) (第一个空格后的字符。 结果是后缀的起始位置。 (6 + 1 = 7)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  17. 加 1 可获取字符在第一个空格 (J) 后的数字位置。 结果是要从其开始搜索第二个空格的字符编号。 (7)

  18. 搜索 A2 中第二个空格的数字位置,从步骤 4 中找到的第七个字符开始。 (11)

  19. 从步骤 4 中找到的第二个空格的字符号中减去 1,得到“,”的字符号。 结果是后缀的结束位置。 (11 - 1 = 10)

  20. 搜索第一个空格的数字位置。 (6)

  21. 找到第一个空格后,添加 1 以查找 J) (下一个字符,该字符也在步骤 3 和 4 中找到。 (7)

  22. 取步骤 6 中找到的“”的字符编号,减去步骤 3 和 4 中找到的“J”的字符编号。 结果是从步骤 2 中找到的第七个位置开始的文本字符串 MID 提取的字符数。 (10 - 7 = 3)

示例 9:加里·奥特曼三世

在此示例中,名字位于字符串的开头,后缀位于字符串的末尾,因此可以使用类似于示例 2 的公式:使用 LEFT 函数提取名字,使用 MID 函数提取姓氏,使用 RIGHT 函数提取后缀。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
加里·奥特曼三世 名字和姓氏带有后缀
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (姓氏)
'=MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) - (SEARCH (“ ”,A2,1) +1) ) =MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) - (SEARCH (“ ”,A2,1) +1) )
公式 后缀) (结果
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
  1. 名字
    第一个名称从 G) 左 (第一个字符开始,到第一个空格) (第五个字符结束。 因此,该公式从全名左侧提取五个字符。

    用于分隔名字和姓氏后跟后缀的公式

    从左侧开始搜索 A2 中第一个空格的数字位置。 (5)

  2. 姓氏
    姓氏从 A) 左 (第六个字符开始,到第二个空格) (第 11 个字符结束。 此公式涉及嵌套 SEARCH 以查找空格的位置。
    公式从中间提取六个字符,从第六个字符开始。

    用于分隔名字和姓氏后跟后缀的公式

    使用函数 SEARCH 查找 start_num 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (5)

  3. 添加 1 可获取字符在第一个空格 (A) 后的位置。 结果是姓氏的起始位置。 (5 + 1 = 6)
    使用嵌套函数 SEARCH 查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (5)

  4. 添加 1 可获取字符在第一个空格 (A) 后的位置。 结果是要从其开始搜索第二个空格的字符编号。 (5 + 1 = 6)

  5. 从步骤 4 中找到的第六个字符开始,在 A2 中搜索第二个空格的数字位置。 此字符编号是姓氏的结束位置。 (12)

  6. 搜索第一个空格的数字位置。 (5)

  7. 加 1 以查找字符在第一个空格 (A) 之后的数字位置,这也在步骤 3 和 4 中找到。 (6)

  8. 取步骤 5 中找到的第二个空格的字符编号,然后减去步骤 6 和 7 中找到的“A”的字符编号。 结果是从文本字符串 MID 提取的字符数,从步骤 2 中找到的第六个位置开始。 (12 - 6 = 6)

  9. 后缀
    后缀从右起三个字符开始。 此公式涉及嵌套 SEARCH 以查找空格的位置。

    用于分隔名字和姓氏后跟后缀的公式

    使用嵌套的 SEARCH 和 LEN 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (5)

  10. 加 1 可获取第一个空格 (A) 之后的字符。 结果是要从其开始搜索第二个空格的字符编号。 (5 + 1 = 6)

  11. 在 A2 中搜索第二个空格,从步骤 2 中找到的 A) (第六个位置开始。 (12)

  12. 计算 A2 中文本字符串的总长度,然后从左侧到步骤 3 中找到的第 2 个空格减去字符数。 其结果是要从全名的右侧提取的字符数。 (15 - 12 = 3)

示例 10:Ryan Ihrig 先生

在此示例中,全名前面加上前缀,并且使用类似于示例 2 的公式:用于提取名字的 MID 函数,用于提取姓氏的 RIGHT 函数。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Ryan Ihrig 先生 带前缀
公式 结果 (名字)
'=MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) - (SEARCH (“ ”,A2,1) +1) ) =MID (A2,SEARCH (“ ”,A2,1) +1,SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) - (SEARCH (“ ”,A2,1) +1) )
公式 结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,SEARCH (“ ”,A2,1) +1) )
  1. 名字
    第一个名称从 R) 左 (第五个字符开始,到第二个空格) (第九个字符结尾。 公式嵌套 SEARCH 以查找空格的位置。 它从第五个位置开始提取四个字符。

    用于分隔前缀名字的公式

    使用 SEARCH 函数查找start_num值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (4)

  2. 加 1 以获取字符在第一个空格后的位置 (R) 。 结果是名字的起始位置。 (4 + 1 = 5)
    使用嵌套 SEARCH 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (4)

  3. 加 1 以获取字符在第一个空格后的位置 (R) 。 结果是要从其开始搜索第二个空格的字符编号。 (4 + 1 = 5)

  4. 搜索 A2 中第二个空格的数字位置,从步骤 3 和 4 中找到的第五个字符开始。 此字符编号是名字的结尾位置。 (9)

  5. 搜索第一个空格。 (4)

  6. 加 1 以查找字符在第一个空格后 (R) 后的数字位置,这也在步骤 3 和 4 中找到。 (5)

  7. 获取步骤 5 中找到的第二个空格的字符编号,然后减去步骤 6 和 7 中找到的“R”的字符编号。 结果是从文本字符串 MID 中提取的字符数,从步骤 2 中找到的第五个位置开始。 (9 - 5 = 4)

  8. 姓氏
    姓氏从右起五个字符开始。 此公式涉及嵌套 SEARCH 以查找空格的位置。

    用于分隔前缀名字的公式

    使用嵌套的 SEARCH 和 LEN 函数查找num_chars值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (4)

  9. 加 1 以获取字符在第一个空格后的位置 (R) 。 结果是要从其开始搜索第二个空格的字符编号。 (4 + 1 = 5)

  10. 在 A2 中搜索第二个空格,从步骤 2 中找到的 R) (第五个位置开始。 (9)

  11. 计算 A2 中文本字符串的总长度,然后从左侧到步骤 3 中找到的第 2 个空格减去字符数。 其结果是要从全名的右侧提取的字符数。 (14 - 9 = 5)

示例 11:Julie Taft-Rider

此示例使用连字符连接的姓氏。 每个名称组件之间有一个空格分隔。

复制表中的单元格,然后粘贴到单元格 A1 的 Excel 工作表中。 将显示左侧的公式以供参考,而 Excel 会自动将右侧的公式转换为适当的结果。

提示将数据粘贴到工作表中之前,将 A 列和 B 列的列宽设置为 250。

示例名称 说明
Julie Taft-Rider 带连字符的姓氏
公式 结果 (名字)
'=LEFT (A2, SEARCH (“ ”,A2,1) ) =LEFT (A2, SEARCH (“ ”,A2,1) )
公式 结果 (姓氏)
'=RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) ) =RIGHT (A2,LEN (A2) -SEARCH (“ ”,A2,1) )
  1. 名字
    第一个名称从左起第一个字符开始,到第一个空格) (第六个位置结束。 公式从左侧提取六个字符。

    用于分隔名字和连字符的姓氏的公式

    使用 SEARCH 函数查找 num_chars 的值:
    从左侧开始搜索 A2 中第一个空格的数字位置。 (6)

  2. 姓氏
    整个姓氏从右 (T) 开始十个字符,到右 (r) 的第一个字符结束。

    用于分隔名字和连字符的姓氏的公式

    使用 LEN 和 SEARCH 函数查找num_chars值:
    在 A2 中搜索空格的数字位置,从左起第一个字符开始。 (6)

  3. 计算要提取的文本字符串的总长度,然后从左侧到步骤 1 中找到的第一个空格减去字符数。 (16 - 6 = 10)

另请参阅

TEXTSPLIT 函数

TEXTBEFORE 函数

TEXTAFTER 函数

使用“文本分列向导”将文本拆分为不同的列