如何在 Microsoft Excel 中拆分和提取文本
Microsoft Excel 提供了一组用于处理文本的函数。当您想要提取文本字符串的一部分或将字符串拆分为行或列时,可以使用三个特定的函数来完成这项工作。
使用 TEXTBEFORE 和 TEXTAFTER,您可以提取特定单词或字符之前或之后的文本。这使得这些函数比您可能使用的 LEFT、RIGHT 和 MID 函数更灵活。要将字符串拆分为多个单元格,您可以使用 TEXTSPLIT。
TEXTBEFORE 函数
该函数的语法是 TEXTBEFORE(text, delimiter, instance, match_mode, match_end, if_not_found)
。前两个参数是必需的,其中 text
是实际文本或单元格引用,delimiter
是您之前想要文本的位置。
以下是三个可选参数的说明:
- Instance:如果
delimiter
在字符串中多次出现并且您想要一个特定的,请使用此参数。 - Match_mode:输入 0 表示区分大小写,输入 1 表示不区分大小写。默认值为 0。
- Match_end:输入 0 表示不匹配文本末尾的分隔符,输入 1 表示匹配。默认值为 1。
- If_not_found:如果您更喜欢结果而不是未找到值的错误,请使用此参数。
现在您知道了参数,让我们看一下 TEXTBEFORE 的一些使用示例。
在第一个示例中,我们将使用以下公式提取单元格 A2 中单词“from”之前的所有文本:
=TEXTBEFORE(A2,"from")
使用下一个公式,我们将提取单词“文本”的第二个实例之前的所有文本。
=TEXTBEFORE(A2,"text",2)
再举一个例子,我们将使用 match_mode
参数进行区分大小写的匹配。
=TEXTBEFORE(A2,"TEXT",,0)
TEXTAFTER 函数
TEXTAFTER 与 TEXTBEFORE 完全相反。该函数的语法是 TEXTAFTER(text, delimiter, instance, match_mode, match_end, if_not_found)
。
与其对应部分一样,前两个参数是必需的,text
是实际文本或单元格引用,而 delimiter
是您希望文本之后的点。
上面描述的三个可选参数也与 TEXTBEFORE 函数一样工作。
在第一个示例中,我们将使用以下公式提取单元格 A2 中单词“from”之后的所有文本:
=TEXTAFTER(A2,"from")
使用下一个公式,我们将在单词“文本”的第二个实例之后提取所有文本。
=TEXTAFTER(A2,"text",2)
最后,我们将使用 match_mode
参数进行区分大小写的匹配。
=TEXTAFTER(A2,"TEXT",,0)
TEXTSPLIT 函数
使用 TEXTSPLIT 函数,您可以根据分隔符(例如,空格或句点)将文本拆分为行或列中的单元格。
语法为 TEXTSPLIT(text, column_delimiter, row_delimiter, ignore, match_mode, pad_with)
其中第一个参数是必需的,可以是实际文本或单元格引用。默认情况下,该公式将文本拆分为列,但您可以使用 row_delimiter
参数来代替行。
以下是其余参数的说明:
- 忽略:输入 FALSE 以在两个分隔符连续时创建一个空单元格。默认值为 TRUE。
- Match_mode:搜索分隔符以匹配默认为区分大小写。
- Pad_with:要填充结果,请输入一个值。否则,将显示 #N/A 错误。
在此示例中,我们将单元格 A2 中的文本字符串拆分为带空格的列,作为我们的 column_delimiter
引号。这是公式:
=TEXTSPLIT(A2," ")
我们不是将字符串拆分成列,而是使用空格作为我们的 row_delimiter
使用以下公式将其拆分成行:
=TEXTSPLIT(A2,," ")
请注意,在此公式中,我们将 column_delimiter
参数留空,仅使用 row_delimiter
。
对于下一个示例,我们将仅在分号之后拆分为另一列:
=TEXTSPLIT(A2,";")
接下来,我们将仅在分号之后拆分为一行而不是一列:
=TEXTSPLIT(A2,,";")
TEXTSPLIT 功能非常强大。如果您正在寻找使用可选参数的更复杂的示例,请访问 TEXTSPLIT 函数的 Microsoft 支持页面。
下次您想要从单元格中提取文本或拆分长文本字符串时,请牢记这些 Excel 函数。然后,当您需要将字符串重新组合在一起时,了解如何使用公式轻松地将文本添加到单元格。