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

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

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

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

使用文本函数分布姓名要素的关键是文本字符串中每个字符的位置。文本字符串中的空格位置也非常重要,因为它们标明了字符串中姓名要素的开始或结束。

例如,在只包含名和姓的单元格中,姓在第一处空格之后开始。列表中的一些姓名可能会包含中间名,在这种情况下,姓在第二处空格之后开始。

本文介绍如何从各种使用这些方便函数的姓名格式提取各个要素。您也可以将文本拆分到不同的列的转换文本分列向导

示例姓名

描述

中间名

后缀

1

张颖

无中间名

Jeff

Smith

",2"

Eric s。 Kurjan

一个中间名首字母

Eric

S.

Kurjan

3

Janaina g。 Bueno b。

两个中间名首字母

Janaina

B. G.

Bueno

4

Kahn,Wendy Beth

名字在前面,带逗号

惠妮

Beth

Kahn

(5)

Mary Kay d。 Andersen

由两部分组成的名字

Mary Kay

D.

Andersen

6

Paula Barreto de Mattos

由三部分组成的姓氏

Paula

Barreto de Mattos

7

James van Eaton

由两部分组成的姓氏

James

van Eaton

8

Bacon Jr.,Dan k.

姓氏和后缀在前面,带逗号

Dan

K.

Bacon

Jr.

9

Gary Altman III

带后缀

Gary

Altman

III

10

Mr

带前缀

Ryan

Ihrig

11

Julie Taft-rider

带连字符的姓氏

朱莉

Taft-Rider

注意: 在图形中下面的示例中,全名中的突出显示的匹配的 SEARCH 公式正在查找的字符。

示例 1:分隔 Jeff 和 Smith

此示例分隔的两个组件︰ 名字和姓氏。单个空格分隔的两个名称。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 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︰ 首先提取和姓氏,以及中间名首字母

此示例使用名字、中间名首字母和姓氏。各个姓名要素由空格分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 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 中发现的第一个空格的字符编号。结果是 MID 从文本字符串(从在步骤 2 中发现的第六个位置开始)中提取的字符数。(8 – 5 = 3)

  8. 姓氏从右侧第六个字符 (K) 开始,到右侧第一个字符 (n) 结束。该公式包括用于查找第二和第三处空格(位于左侧第五个和第八个位置)的嵌套函数 SEARCH。

    该公式在 A2 中提取六个字符(从右开始)。

  9. 使用 LEN 和嵌套函数 SEARCH 查找 num_chars 的值:

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

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

  11. 在 A2 中搜索第二处空格(从在步骤 2 中发现的第六个位置 (S) 开始)。该字符编号是中间名的结束位置。(8)

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

返回页首

示例 3:Janaina B. G. Bueno

下面的示例说明了如何提取两个中间名首写字母。第一和第三处空格将姓名要素分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到的公式将显示以供参考,Excel 会自动将在右侧的公式转换为正确的结果时。

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

示例姓名

描述

Janaina B. G. Bueno

两个中间名首字母

公式

结果(名字)

'=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 中找到第九个位置 (B) 开始。(11)。

  6. 加 1 以获取第二个空格后面的字符 (G) 的位置。该字符编号是要从其开始搜索第三个空格的开始位置。(11 + 1 = 12)

  7. 在 A2 中搜索第三个空格(从在步骤 6 中发现的第十二个位置开始)。(14)

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

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

  10. 姓氏从右侧第五个字符 (B) 开始,到右侧第一个字符 (o) 结束。该公式包括嵌套函数 SEARCH,用于查找第一、第二和第三处空格。

    该公式在 A2 中提取五个字符(从全名的右面部分开始)。

    使用嵌套函数 SEARCH 和 LEN 查找 num_chars 的值:

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

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

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

  13. 加 1 以获取第二个空格后面的字符 (G) 的位置。该字符编号是要从其开始搜索第三个空格的开始位置。(11 + 1 = 12)

  14. 在 A2 中搜索第三个空格(从在步骤 6 中发现的第十二个位置 (G) 开始)。(14)

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

返回页首

示例 4:Kahn, Wendy Beth

在此示例中,姓氏在名字前面,中间名显示在末尾。逗号标记姓氏的结束,各个姓名要素由空格分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 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 D. Andersen

此示例使用一个由两部分组成的名字:Mary Kay。第二个和第三个空格将各个姓名要素分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 Excel 会自动将在右侧的公式转换为正确的结果。

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

示例姓名

描述

Mary Kay D. Andersen

由两部分组成的名字

公式

结果(名字)

LEFT(A2, SEARCH(" ",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,用于查找左面第二处空格。

    该公式提取九个字符(从左开始)。

    使用嵌套函数 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. 在 A2 中搜索第二处空格的位置(从在步骤 2 中发现的第六个位置 (K) 开始)。结果是 LEFT 从左面提取的字符数(9)

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

    使用嵌套函数 SEARCH 查找 num_chars 的值:

    搜索第二个空格后面的字符 (D) 的数值位置。结果是要从其开始搜索第三个空格的字符编号。(10)

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

  9. 搜索第二个空格后面的字符 (D) 的数值位置。结果是中间名的开始位置。(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。第一个空格标记名字的结束和姓氏的开始。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到的公式将显示以供参考,Excel 会自动将在右侧的公式转换为正确的结果时。

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

示例姓名

描述

Paula Barreto de Mattos

由三部分组成的姓氏

公式

结果(名字)

'=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. 名从左面第一个字符 (P) 开始,到第六个字符(第一个空格)结束。该公式提取左面六个字符。

    使用函数 Search 查找 num_chars 的值:

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

  2. 姓从右面第十七个字符 (B) 开始,到右面第一个字符 (s) 结束。该公式提取右面的十七个字符。

    使用函数 LEN 和 SEARCH 查找 num_chars 的值:

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

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

返回页首

示例 7:James van Eaton

此示例使用一个由两部分组成的姓氏:van Eaton。第一个空格标记名字的结束和姓氏的开始。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 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) 结束。该公式提取全名的右面部分九个字符。

    使用函数 LEN 和 SEARCH 查找 num_chars 的值:

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

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

返回页首

示例 8:Bacon Jr., Dan K.

在本示例中,最前面的是姓,之后是后缀。逗号将姓和后缀与名和中间名首写字母分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示引用时,Excel 会自动将在右侧的公式转换为正确的结果。

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

示例姓名

描述

Bacon Jr., Dan 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) 开始,到第十五个字符(第三个空格)结束。该公式提取三个字符(从第十二个位置开始)。

    使用嵌套函数 SEARCH 查找 start_num 的值:

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

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

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

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

    使用嵌套函数 SEARCH 查找 num_chars 的值:

    搜索第二个空格后面的字符 (D) 的数值位置。结果是要从其开始搜索第三个空格的字符编号。(12)

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

  6. 搜索第二个空格后面的字符 (D) 的数值位置。结果是名的开始位置。(12)

  7. 采用在步骤 6 中发现的第三个空格的字符编号,然后减去在步骤 7 中发现的“D”的字符编号。结果是 MID 从文本字符串(从在步骤 4 中发现的第十二个位置开始)中提取的字符数。(15 - 12 = 3)

  8. 中间名

    中间名从右侧第二个字符 (K) 开始。该公式从右侧提取两个字符。

    使用嵌套的搜索功能查找 num_chars 的值︰

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

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

  10. 在 A2 中搜索第二个空格(从在步骤 2 中发现的第七个位置 (J) 开始)。(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”的字符编号。结果是 MID 从文本字符串(从在步骤 2 中发现的第七个位置开始)中提取的字符数。(10 - 7 = 3)

返回页首

示例 9:Gary Altman III

在本例中,姓氏位于字符串的开头,后缀位于结尾。因此,您可以使用与“示例 2:使用 LEFT 函数”相似的公式来提取名字,使用 MID 函数提取姓氏,使用 RIGHT 函数提取后缀。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 Excel 会自动将在右侧的公式转换为正确的结果。

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

示例姓名

描述

Gary Altman III

名字和姓氏,带后缀

公式

结果(名字)

'=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) 开始,到第十一个字符(第二个空格)结束。该公式包含嵌套函数 SEARCH,用于查找空格的位置。

    该公式提取中间的六个字符(从第六个字符开始)。

    使用函数 SEARCH 查找 start_num 的值:

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

  3. 加 1 以获取第一个空格后面的字符 (A) 的位置。结果是姓的开始位置。(5 + 1 = 6)

    使用嵌套函数 SEARCH 查找 num_chars 的值:

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

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

  5. 在 A2 中搜索第二个空格的数值位置(从在步骤 4 中发现的第六个字符开始)。该字符编号是姓的结束位置。(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 中发现的第二个空格的字符数。其结果是要从全名的右侧提取的字符数。(15 - 12 = 3)

返回页首

示例 10:Mr. Ryan Ihrig

在本例中,全名前面有前缀,您可以使用与“示例 2:MID 函数”相似的公式来提取名字,使用 RIGHT 函数提取姓氏。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示引用时,Excel 会自动将在右侧的公式转换为正确的结果。

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

示例姓名

描述

Mr. 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. 使用 nAdd 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 中发现的第二个空格的字符数。其结果是要从全名的右侧提取的字符数。(14 - 9 = 5)

返回页首

示例 11:Julie Taft-Rider

此示例使用一个带连字符的姓氏。各个姓名要素由空格分隔开。

在表中复制的单元格并粘贴到 Excel 工作表在单元格 A1。在左侧看到该公式将显示以供参考,同时 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)

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

另请参阅

将文本拆分到不同的列与文本分列向导

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×