Excel - TEXTBEFORE 函数
TEXTBEFORE 函数
Excel TEXTBEFORE 函数用于检索分隔符/字符出现之前的输入语句部分。在旧版本(如 Excel 2009 和 2007)中执行此功能不足以满足您的数据提取和清理目的。用于字符串操作的三个主要文本函数是 TEXTBEFORE、TEXTAFTER 和 TEXTSPLIT,您可以在 Microsoft Excel 的最新版本中实现它们。例如,您可以通过 TEXTBEFORE 函数检索销售主管的名字。
兼容性
TEXTBEFORE 函数仅在以下版本的 Excel 中可用 −
- Excel for Microsoft 365
- Excel for Microsoft 365 for Mac
- Excel for the web
语法
TEXTBEFORE 函数的语法如下 −
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
参数
您可以将以下参数与 TEXTBEFORE 函数一起使用 −
参数 | 描述 | 必需/可选 |
---|---|---|
text | 用于文本操作的文本字符串。 | 必需 |
delimiter | 正在输入字符串中搜索分隔符/字符/文本,其行为类似于标记,并获取其前面的部分文本。 | 必填 |
instance_num | 指定获取结果文本的分隔符实例,默认值为1,若为负数则从后往前查找文本。 | 选填 |
match_mode | 取值可以为0或1,默认值为0表示区分大小写;否则,使用 1 表示不区分大小写。 | 可选 |
match_end | 匹配带分隔符的文本。使用 1 表示精确匹配;否则,使用 0 表示与特定分隔符不匹配的文本。 | 可选 |
If_not_found | 如果输入文本中没有匹配的文本/分隔符,则检索一个常量值。 | 可选 |
如何在 Excel 中添加 TEXTBEFORE 函数?
1. 首先,在 Excel 365 或 Excel for the web 中打开一个新工作表。
2. 双击目标单元格,输入 = 符号,然后写入 TEXTBEFORE(B4, delimiter/text)。您可以在此函数中指定其他可选参数。
3.最后,按 Enter 键获取结果。
TEXTBEFORE 函数在 Excel 中不起作用
- 如果在输入字符串中未识别分隔符或文本,则 TEXTBEFORE 函数将不起作用并返回 #N/A
- 如果 instance_num 大于输入文本的长度或等于零,则 TEXTBEFORE 函数将为您提供 #VALUE!
- TEXTBEFORE 函数中第一个参数中给出的错误单元格引用会导致错误值。
- 如果您使用的 Excel 版本不是 Excel 365,则 TEXTBEFORE 函数将不会执行。
- 如果您在 match_mode 参数中使用除 0 或 1 以外的整数值,则 TEXTBEFORE 函数将检索#VALUE!
- 如果您在 match_end 参数中设置了除 0 或 1 以外的负数或正数,则 TEXTBEFORE 函数将检索 #VALUE!
TEXTBEFORE 函数示例
练习以下示例以了解在 Excel 中使用 TEXTBEFORE 函数的方法。
示例 1
在此示例中,在 C2 单元格中输入公式 =TEXTBEFORE(B2,"-")。

按下 Enter 按钮后,结果值为TEXTBEFORE 函数检索到的 Raw,它是输入文本字符串中分隔符之前的部分。

示例 2:文本字符串中的多个分隔符
如果输入字符串包含多个分隔符,则可以使用数组在第二个参数中指定所有分隔符。B4 单元格中写入的语句包含这么多分隔符。在 C4 单元格中写入公式 =TEXTBEFORE(B4,{"'","'","-"})。在第二个参数中,所有分隔符都括在双引号中,并用逗号分隔。

因此,输出为 Submit customer。

示例 3:不区分大小写
默认情况下,TEXTBEFORE 函数区分大小写,这意味着大写和小写字符的处理方式不同。
在 D3 中输入公式 =TEXTBEFORE(B3,"park")单元格。

一旦您按下 Enter 按钮,TEXTBEFORE 函数将返回 #N/A 错误,因为第二个参数是"park",由于区分大小写,它在输入字符串中未被识别。输入字符串中的 p 字母是大写的,因此解释方式不同。

为避免此问题,您可以在执行 TEXTBEFORE 函数时将 match_mode 设置为 1,以不区分大小写。
编辑上一个公式,在 D3 单元格中写入 =TEXTBEFORE(B3,"park",,1),然后按 Enter 键。

因此,TEXTBEFORE 函数将返回 Jurassic。

示例 4
如果 instance_num 大于输入文本的长度或等于零,则 TEXTBEFORE 函数将给出 #VALUE! 错误。
解决方案
步骤 1 − 在 D3 单元格中输入公式 =TEXTBEFORE(B3,"park",0,1)。这里,第三个参数 instance_num 包含不允许的零值。

因此,TEXTBEFORE 函数将返回 #VALUE 错误。

步骤 2 − 在另一种情况下,在 D3 单元格中写入公式 =TEXTBEFORE(B3,"park",50,1)。此处,instance_number 值为 50,大于输入字符串 Jurassic Park 的长度。

因此,TEXTBEFORE 函数将获得 #VALUE 错误。

下载练习表
您可以下载并使用示例数据表来练习 TEXTBEFORE 函数。