如何从 Excel 单元格中提取文本?

2025年3月17日 | 阅读11分钟

Excel 在办公室和个人使用中被广泛应用。它包含大量的函数和公式,用于处理给定的数据,帮助用户快速轻松地检索数据。用户输入的数据可以是数值、字母或数学符号。

有时用户输入的数据是数值和字母的组合。手动从单元格中的数据中提取相应或所需文本是一项困难的任务。为了解决这个问题,Excel 提供了一些强大的文本函数,可以帮助提取给定数据中所需的文本。

Excel 中的“子字符串”是什么意思?

在解释文本函数之前,这里解释一下“子字符串”的概念,以便更好地理解。子字符串是从字符串的组合或组中提取或解析字符串。它是给定字符串的子集或一部分。通常,子字符串的示例如下:

How to extract text from Excel cells?

结果将显示为 AMYAK,即从第二个位置开始的 5 个字符。

Excel 文本函数

Excel 中没有子字符串函数。Excel 提供了各种文本函数和默认函数来解析单元格中的文本。各种文本函数如下:

How to extract text from Excel cells?

在各种文本函数中,用于提取文本的主要文本函数是 MID、RIGHT、LEFT、LEN、FIND、REPT、SUBSTITUTE、TRIM 和 MAX。上面在工作表中提到了一些文本函数。让我们来看一下每个文本函数的示例。

示例 1:如何从给定数据中提取文本中间的部分?

要从给定数据中提取文本中间的部分,需要遵循以下步骤:

  1. 在工作表中输入数据,即 A1。
  2. 选择一个新单元格,然后键入公式 =MID(A1, 7, 6)。其中 A1 表示单元格名称,7 和 6 表示 MID 函数从第 7 个位置开始定位数据,并解析 6 个字符。
  3. 结果将显示在选定的单元格中,该单元格是从给定数据中解析出来的。
How to extract text from Excel cells?

从上面的工作表来看,MID 函数解析了文本 orange。这里的“o”被认为是第 7 个位置,因为逗号位于第 6 个位置。

示例 2:如何从给定数据中提取文本的左侧部分?

要从给定数据中提取文本的左侧部分,需要遵循以下步骤:

  1. 在工作表中输入数据,即 A1。
  2. 选择一个新单元格,然后键入公式 =LEFT(A1, 5)。其中 A1 表示单元格名称,5 表示左侧字符的数量。
  3. 结果将显示在选定的单元格中,该单元格是从给定数据左侧解析出来的。
How to extract text from Excel cells?

上面的工作表将显示结果为 plums,这是从左侧解析出的五位字符。

对于相同的示例,可以将公式修改为 =LEFT(A1, FIND("-", A1)-1)。最终结果与 Plums 相同。在此公式中,FIND 函数查找“-”的位置,并从该破折号值的位置减去一。最终结果将是解析出的最左侧字符的位置。

How to extract text from Excel cells?

从上面的工作表来看,使用 FIND 函数将显示“Plums”作为结果。

示例 3:如何从给定数据中提取文本的右侧部分?

要从给定数据中提取文本的右侧部分,需要遵循以下步骤:

步骤 1:在工作表中输入数据,即 A1。

步骤 2:选择一个新单元格,然后键入公式 =RIGHT(A1, 6)。其中 A1 表示单元格名称,6 表示右侧字符的数量。

步骤 3:结果将显示在选定的单元格中,该单元格是从给定数据右侧解析出来的。

How to extract text from Excel cells?

上面的工作表将显示结果为 Mexico。从给定数据右侧解析出的六位字符。

示例 3.1:如何提取破折号后面的任意长度的文本?

LEN 和 FIND 可以提取破折号后面的任意长度的字符。需要遵循以下步骤:

步骤 1:在工作表中输入数据,即 A1。

步骤 2:选择一个新单元格,然后键入公式 =RIGHT(A1, LEN(A1)-FIND("-", A1))。这里 LEN 函数返回字符串的长度,FIND 函数查找破折号的位置。因此,从总长度中减去破折号值的位置,然后从数据中解析出最右侧的字符。

步骤 3:结果将显示在选定的单元格中,该单元格是从给定数据右侧解析出来的。

How to extract text from Excel cells?

这里公式返回字符串值的总长度为 7,并将破折号定位在 4。因此,7-4=3。这从数据右侧解析而来。

示例 4:如何从电子邮件 ID 中提取用户名?

在此示例中,给定的数据集包含各种电子邮件 ID。用户希望将用户名检索到单独的单元格中。需要遵循以下步骤:

步骤 1:在需要的列 A1:A5 中输入数据

步骤 2:识别模式有助于更轻松、更快速地修改公式。这里的模式是“@”,它位于用户名和域名之间。选择用户希望显示结果的新单元格,然后键入公式 =LEFT(A1, FIND("@", A1)-1)。该公式使用“@”作为参考,以便在单独的单元格中获取用户名。

步骤 3:结果将显示在选定的单元格中,其中包含相应电子邮件 ID 的用户名。

How to extract text from Excel cells?

从上面的工作表(单元格 A1)来看,公式中的 FIND 函数将“@”符号定位在第 4 个位置,并从中减去 1。因此,结果为 3,这是从给定字符左侧解析出的字符数。类似地,此方法也适用于工作表中的所有数据。

示例 4.1:如何从电子邮件 ID 中提取域名?

在示例 3 中,从数据中提取了用户名。此处遵循相同的概念,但有一个细微差别,即从数据右侧解析字符。在此示例中,给定的数据集包含各种电子邮件 ID。用户希望将域名检索到单独的单元格中。需要遵循以下步骤:

  1. 在需要的列 A1:A5 中输入数据
  2. 识别模式有助于更轻松、更快速地修改公式。这里的模式是“@”,它位于用户名和域名之间。选择用户希望显示结果的新单元格,然后键入公式 =RIGHT(A1, LEN(A1)-FIND("@", A1))。该公式使用“@”作为参考,以便在单独的单元格中获取域名。
  3. 结果将显示在包含相应电子邮件 ID 域名的选定单元格中。
How to extract text from Excel cells?

从上面的工作表(单元格 A1)来看,公式中的 FIND 函数将“@”符号定位在第 4 个位置。用户想要提取“@”符号后面的字符。因此,找到字符串的总长度并减去“@”符号之前的字符。最后,将“@”符号右侧的字符显示为结果。类似地,此方法也适用于工作表中的所有数据。

示例 5:如何从电子邮件 ID 中提取不带 .com 的域名?

要提取不带 .com 的域名,公式修改如下:

MID 函数从上述公式的起始位置提取指定的字符。FIND("@", A1) + 1 表示起始位置,即“@”的右侧。FIND(".", A1)-FIND("@", A1)-1) 计算“@”和“.”之间的字符数。

需要遵循的步骤如下:

步骤 1:在列 A1:A5 中输入所需数据

步骤 2:选择用户希望显示结果的新单元格,并输入公式 =MID(A1, FIND("@", A1)+1, FIND(".", A1)-FIND("@", A1)-1)

步骤 3:结果将显示在选定的单元格中,即不带 .com 的域名。

How to extract text from Excel cells?

从上面的工作表来看,显示的结果是 Gmail 和 yahoo,不带 .com。类似地,如果用户希望显示域名,则此方法也适用于其他数据,如以上方法所示。

示例 6:如何在 Excel 中使用分隔符提取子字符串?

使用文本函数,可以从给定的文本中提取子字符串。如果原始文本被更改,结果也会被更改,因为公式会根据数据修改结果。这里有一种称为“分列”的替代方法,它涉及使用标记快速提取子字符串的相同过程。

要使用“分列”提取子字符串,需要遵循以下步骤:

  1. 在电子表格中输入所需数据,即 A1:A5。在此示例中,使用“-”而不是“@”符号。
    How to extract text from Excel cells?
  2. 选择包含数据的相应列 A1:A5。在“数据”选项中的“数据工具”下选择“分列”。
    How to extract text from Excel cells?
  3. 将显示“文本分列向导”。在其中,在给定选项中选择“分隔符号”选项,然后单击“下一步”。
    How to extract text from Excel cells?
  4. 在“将文本转换为列”向导中,在各种选项中选择“其他”选项,并在框中键入符号“-”,该符号用作分隔符。此分隔符可从给定数据中提取子字符串。单击“下一步”选项。
    How to extract text from Excel cells?
  5. 在各种选项中选择“常规”选项,并键入用户希望显示结果的目的地单元格。此处选择单元格 B1 作为目的地单元格。数据预览显示了对话框中的分隔符如何提取子字符串。此数据预览可帮助用户查看结果,并在需要进行任何更改时帮助修改。
    How to extract text from Excel cells?
  6. 结果将显示在单元格 B1:C5 中。分隔符在选定的单元格中显示两个子字符串,如下所示。
    How to extract text from Excel cells?

如果用户想要提取 gmail.com 到 Gmail 和 .com,则重复相同的方法从数据中提取子字符串。

示例 7:如何使用“查找和替换”从数据中提取子字符串?

在此示例中,给出了电子邮件 ID 的集合。任务是从给定的电子邮件 ID 中解析用户名。需要遵循以下步骤:

  1. 在范围 A1:A5 中输入电子邮件 ID。将数据复制并粘贴到单元格 B1:B5 中。为原始数据保留备份以备将来参考。
  2. 在“开始”选项卡中的“编辑”部分中,单击“查找和选择”选项。将显示各种选项的列表,在其中选择“替换”选项。
    How to extract text from Excel cells?
  3. 将显示“查找和替换”对话框。在其中,在“查找内容”框中键入 @*,并在“替换为”框中留空。
    How to extract text from Excel cells?
  4. 单击“全部替换”选项。此选项将从单元格 A1:A5 中给定的数据中删除 @gmail.com,并仅显示用户名。
    How to extract text from Excel cells?

从上面的工作表来看,只显示了用户名。这里 @ 和星号 * 结合起来用于从文本中提取字符串。星号是一个通配符,用于删除字符。“@”符号表示计算的字符,这些字符位于其之后。“@*”表示要删除的字符,这些字符位于“@”符号之后。因此,最终结果将是给定数据的用户名。

示例 8:如何从数据中提取括号之间的两个字符

有时数据存在于斜杠、方括号、圆括号或花括号之间。要提取存在于花括号之间的数据,可以使用 MID 和 FIND 函数。需要遵循以下步骤:

  1. 在相应的单元格中输入数据,即 A1:A3。
  2. 选择一个新单元格并输入公式 =MID(A1, FIND("(", A1) + 1, 2)。MID 函数从数据中解析两个字符。在公式中,FIND 函数查找开括号的位置,并将数字 1 添加到子字符串的起始位置。
  3. 按 Enter 键。结果将显示在包含两个字符的选定单元格中。
How to extract text from Excel cells?

上面的工作表显示了列 B1:B3 中的结果,其中 MID 函数从数据中提取了两个字符。对于单元格 A1,公式将类似于 =MID(A1, 6+1, 2)。类似地,对于工作表中的所有数据,都采用了相同的方法。

示例 8.1 如何从数据中提取括号内的完整字符?

在示例 8 中,只从数据中提取了两个数据。要提取存在于括号内的完整数据,需要遵循以下步骤:

步骤 1:在相应的单元格中输入数据,即 A1:A3。

步骤 2:选择一个新单元格并输入公式 =MID(A1, FIND("(", A1) + 1, FIND(")", A1)-FIND("(", A1)-1)。在公式中,开括号的位置和值 1 从闭括号的位置减去。最终结果将是子字符串的位置。

步骤 3:按 Enter 键。结果将显示在包含两个字符的选定单元格中。

How to extract text from Excel cells?

从上面的工作表来看,MID 和 FIND 函数返回了存在于括号内的完整值。

示例 9:如何从给定数据中提取选择性的或特定的子字符串?

要从给定数据中提取特定的子字符串,需要遵循以下步骤:

  1. 在相应的单元格中输入数据,即 A1。
    How to extract text from Excel cells?
  2. 选择单元格 A2 并键入公式 =SUBSTITUTE(A1," ", REPT(" ", 100))。这里使用 SUBSTITUTE 和 REPT 函数将单个空格替换为 100 个空格或用户偏好的空格。
    How to extract text from Excel cells?
    上面的工作表在公式中将空格表示为 100。因此,字符将以 100 个空格的距离放置。
  3. 要解析单元格 A2 中存在的中间部分,在单元格 A3 中键入公式 =MID(A2, FIND("@", A2)-50, 100)。公式中的 MID 函数生成单元格 A2 中存在的中间数据。
    How to extract text from Excel cells?
  4. 要删除单元格 A3 中存在的空格,请使用 TRIM 函数。在单元格 A4 中键入公式 =TRIM(A3)。TRIM 函数删除空格并显示数据,如下所示。
    How to extract text from Excel cells?

提取指定或选定子字符串的分步过程已在步骤 1 到步骤中进行了说明。要一步完成此方法,公式修改如下:

闪电填充法

Excel 中的闪电填充法用于在不使用公式的情况下提取子字符串。它是一种替代且更快的选项,可以从给定数据中解析字符串。

示例 10:如何使用闪电填充法从文本中提取字符串?

使用闪电填充方法需要遵循以下步骤:

  1. 在需要的列 A1:A5 中输入数据
  2. 在单元格 B1 中输入已解析的数据。用户必须根据提取名字、姓氏和全名来决定模式。在“数据”选项卡中选择“闪电填充”选项或按 CTRL+E。闪电填充选项会自动更新其余数据的模式。
    How to extract text from Excel cells?
  3. 闪电填充选项将在下面的工作表中显示数据。
    How to extract text from Excel cells?

示例 11:如何使用闪电填充方法将不同列中的姓氏和名字合并?

在示例 10 中,闪电填充方法显示了数字模式。类似地,要合并姓氏和名字,需要遵循以下步骤:

  1. 在需要的列 A1:B5 中输入数据。
  2. 列 A1:A5 包含电子邮件 ID 的姓氏,B1:B5 包含电子邮件 ID 的名字。为了合并数据并将其表示为完美的电子邮件 ID 格式,在单元格 C1 中键入格式,然后单击闪电填充方法。闪电填充方法显示的数据与 C1 中存在的数据类似。
  3. 结果将显示如工作表所示。C1 中存在的模式与 C5 中的模式相同。
How to extract text from Excel cells?

从上面的工作表来看,C1:C5 中的数据遵循相同的模式。

总结

以上教程解释了提取子字符串和数据文本的各种方法和函数。