跳至主要内容

Excel TEXTBEFORE 函数

Author: Siluvia Last Modified: 2025-07-31

TEXTBEFORE 函数返回在给定子字符串或分隔符之前出现的文本。

注意:此函数仅在 Microsoft 365 的 Insider 频道中的 Excel 中可用。

show the usage of Excel TEXTBEFORE function

语法

=TEXTBEFORE(文本, 分隔符, [实例编号], [匹配模式], [匹配结尾], [未找到时])

参数

文本(必需):要提取文本的原始文本字符串。可以作为以下形式提供:
-- 文本字符串;
或者
-- 单元格引用
分隔符(必需):您希望在其之前提取文本的子字符串或分隔符;
实例编号(可选):分隔符在文本中的实例;
-- 默认值为 1,这意味着当文本字符串中出现重复分隔符时,将提取第一个分隔符之前的文本。
-- 如果您想从文本字符串的末尾开始搜索文本,请为此参数指定一个负数。
匹配模式(可选):确定分隔符是否区分大小写;
-- 0(默认值):区分大小写。
-- 1:不区分大小写。
匹配结尾(可选):将文本末尾视为分隔符。默认值为 0。
-- 0(默认值):不要将分隔符与文本末尾匹配。
-- 1:将分隔符与文本末尾匹配。
未找到时(可选):未找到匹配项时返回的值。默认值为 #N/A 错误值。

备注

1) 它与 TEXTAFTER 函数相反。
2) 当分隔符为空时,您将得到以下结果之一:
-- 从文本字符串左侧搜索时(实例编号为正),返回整个文本字符串;
-- 从文本字符串右侧搜索时(实例编号为负),返回空文本;
3) 如果满足以下任一条件,则会发生 #VALUE! 错误
-- 实例编号 = 0;
-- 实例编号大于文本长度;
4) 如果满足以下任一条件,则会发生 #N/A 错误
-- 分隔符不存在于文本字符串中;
-- 实例编号大于分隔符在文本字符串中的出现次数。

返回值

它返回提取的文本字符串。

示例

在这里,我们以下面的文本列表为例,演示如何在不同条件下使用 TEXTBEFORE 函数提取文本。

show the usage of Excel TEXTBEFORE function
#示例1:提取 Excel 中第一个分隔符之前的文本

要提取指定单元格中第一个逗号之前的文本,请按如下方式应用 TEXTBEFORE 函数。

选择要提取文本的第一个文本单元格旁边的单元格,输入以下公式并按 Enter 键获取结果。选择此结果单元格,向下拖动其自动填充柄以获取其余结果。

=TEXTBEFORE(A2,",")

show the usage of Excel TEXTBEFORE function

注意:在这种情况下,公式中只需要前两个参数。

#示例2:提取 Excel 中第 N 个分隔符之前的文本

默认情况下,即使文本中有多个分隔符,TEXTBEFORE 函数也会提取文本字符串中第一个分隔符之前的文本。如果您想提取第 N 个分隔符之前的文本,例如在这种情况下是第二个逗号,可以按如下方式应用 TEXTBEFORE 函数。

选择要提取文本的第一个文本单元格旁边的单元格,输入以下公式并按 Enter 键获取结果。选择此结果单元格,向下拖动其自动填充柄以获取其余结果。

=TEXTBEFORE(A2,",",2)

show the usage of Excel TEXTBEFORE function

注意:要提取第 n 个分隔符之前的文本,只需将实例编号参数指定为相应的数字即可。在这种情况下,我输入数字 2 表示第二个逗号。

#示例3:提取 Excel 中给定子字符串之前的文本(不区分大小写)

默认情况下,TEXTBEFORE 函数区分大小写。如果要在不区分大小写的情况下提取文本,可以按如下方式应用 TEXTBEFORE 函数。

选择要提取文本的第一个文本单元格旁边的单元格,输入以下公式并按 Enter 键获取结果。选择此结果单元格,向下拖动其 自动填充柄以获取其余结果。

=TEXTBEFORE(A2,"Consultant",1,1)

show the usage of Excel TEXTBEFORE function

注意:要在 TEXTBEFORE 函数中禁用大小写敏感性,需要将匹配模式参数指定为 1。在这种情况下,将提取出现在子字符串“Consultant”或“CONSULTANT”之前的文本。

#示例4:当 TEXTBEFORE 未匹配到任何文本时返回自定义值

如上图所示,默认情况下,当未找到匹配项时,TEXTBEFORE 函数返回 #N/A。如果希望在 TEXTBEFORE 未匹配到任何文本时返回自定义值,可以按如下方式应用 TEXTBEFORE 函数。

选择要提取文本的第一个文本单元格旁边的单元格,输入以下公式并按 Enter 键获取结果。选择此结果单元格,向下拖动其自动填充柄以获取其余结果。

=TEXTBEFORE(A2,"Consultant",1,1,,"未找到文本")

show the usage of Excel TEXTBEFORE function

注意:在此公式中,“未找到文本”是未找到匹配文本时返回的自定义值。您可以根据需要更改它。

#示例5:提取 Excel 中最后一个分隔符之前的文本

通常,您可以指定实例编号参数来提取文本字符串中第 n 个分隔符之前的文本。如果需要提取最后一个分隔符之前的文本,完成此任务的最简单方法是为此参数指定一个负数。

例如,要提取下表中最后一个逗号之前的文本,TEXTBEFORE 函数可以更改为如下形式。

选择一个单元格(例如本例中的 B2),输入以下公式并按 Enter 键。选择此结果单元格并向下拖动其自动填充柄以获取其余结果。

=TEXTBEFORE(A2,",",-1)

show the usage of Excel TEXTBEFORE function

注意:此处公式中的 -1 帮助从末尾搜索原始文本字符串。


相关函数

Excel TEXTAFTER 函数 TEXTAFTER 函数提取并返回给定子字符串或分隔符之后出现的文本。

Excel TEXTSPLIT 函数 TEXTSPLIT 函数通过给定分隔符将文本字符串拆分为跨列和行的数组。

Excel VALUETOTEXT 函数 VALUETOTEXT 函数将任何指定的值转换为文本。


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。