KutoolsforOffice — 一套方案,五大工具。事半功倍。

Excel TEXTBEFORE 函数

作者Siluvia修改日期

TEXTBEFORE 函数可返回指定子字符串或分隔符之前的文本内容。

注意:此函数仅适用于 Microsoft 365 专属 Excel 的预览体验成员通道。

展示 Excel TEXTBEFORE 函数的用法

语法

=TEXTBEFORE()text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])

参数

Text(必需):要从中提取文本的原文本字符串。可支持如下类型:
-—— 文本字符串;
-—— 一个单元格引用
Delimiter(必需):要提取其前的文本所依据的子字符串或分隔符;
Instance_num(可选):文本中分隔符的实例;
-—— 默认为 1,表示当文本中有重复分隔符时,会提取首个分隔符前的文本。
-—— 如需从文本串尾部开始查找文本,请将此参数设置为负数。
Match_mode(可选):用于设置分隔符是否区分大小写;
-——0(默认):区分大小写。
-——1:不区分大小写。
Match_end(可选):将文本结尾视为分隔符。默认值为 0.
-——0(默认):不将文本末尾作为分隔符进行匹配。
-——1:将文本末尾作为分隔符进行匹配。
If_not_found(可选):未找到匹配项时返回的数值。默认返回 #N/A 错误值。

备注

1)它与 TEXTAFTER函数相反。
2)若分隔符为空,结果如下:
-—— 若从文本串左侧进行查找(instance_num 为正),则返回整个文本字符串;
-—— 若从文本串右侧进行查找(instance_num 为负),则返回空文本;
3)#VALUE! 错误当满足以下任一条件时会出现:
-——Instance_num= 0;
-——Instnce_num 大于文本长度;
4)#N/A 错误当满足以下任一条件时会出现:
-——Delimiter 在文本中不存在;
-——Instance_num 大于文本字符串中分隔符出现的次数。

返回值

将返回所提取的文本字符串。

示例

以下以此文本列表为例,展示如何在不同场景下运用 TEXTBEFORE 函数提取所需文本。

展示 Excel TEXTBEFORE 函数的用法
#示例 1:提取 Excel 中首个分隔符前的文本

若需提取指定单元格中首个逗号前的文本,请按照以下方法使用 TEXTBEFORE 函数。

在首个要提取文本的单元格旁边选择一个空白单元格,输入下列公式并按下 Enter 只需按下键即可获得结果。选中该结果单元格,拖动其自动填充柄向下滚动以查看更多结果。

=TEXTBEFORE(A2,",")

展示 Excel TEXTBEFORE 函数的用法

注意:在这种情况下,公式只需使用前两个参数即可。

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

默认情况下,TEXTBEFORE 函数会提取文本串首个分隔符前的内容,即使文本中有多个分隔符。如需提取第 N 个分隔符(如本例为第二个逗号)前的文本,可按以下方法应用 TEXTBEFORE 函数。

在首个要提取文本的单元格旁边选择一个空白单元格,输入下列公式并按下 Enter 键即可获得结果。选中该结果单元格,拖动其自动填充柄向下滚动以查看更多结果。

=TEXTBEFORE(A2,",",2)

展示 Excel TEXTBEFORE 函数的用法

注意:如需提取第 n 个分隔符前的文本,只需将 Instance_num 参数设置为相应数字。此处输入 2,即表示第二个逗号。

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

默认情况下,TEXTBEFORE 函数为区分大小写。若需提取文本时不区分大小写,可按如下方法应用 TEXTBEFORE 函数。

在首个要提取文本的单元格旁边选择一个空白单元格,输入下列公式并按下 Enter 键即可获得结果。选中该结果单元格,拖动其自动填充柄向下滚动以查看更多结果。

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

展示 Excel TEXTBEFORE 函数的用法

注意:如需关闭 TEXTBEFORE 函数的区分大小写功能,只需将 Match_mode 参数设置为 1,即可提取子字符串“Consultant”或“CONSULTANT”前的文本。

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

如上图所示,默认情况下,TEXTBEFORE 函数若未匹配到结果会返回 #N/A。若要在不匹配任何文本时返回自定义数值,可按如下方式应用该函数。

在首个要提取文本的单元格旁边选择一个空白单元格,输入下列公式并按下 Enter 只需按下键即可获得结果。选中该结果单元格后,拖动其自动填充柄向下滚动以查看更多结果。

=TEXTBEFORE(A2,"Consultant",1,1,,"text not found")

展示 Excel TEXTBEFORE 函数的用法

注意:此公式中的“text not found”为 TEXTBEFORE 函数未找到匹配文本时返回的自定义值,您可根据实际需求进行修改。

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

通常,您可通过设置 instance_num 参数来提取文本串中第 N 个分隔符前的内容。如需提取最后一个分隔符前的文本,最简便的方法是将该参数设为负数。

例如,如需提取下表中最后一个逗号前的文本,可按以下方式调整 TEXTBEFORE 函数。

以 B2 为例,选择一个单元格,输入下列公式并按 Enter 键。在选择该结果单元格后,拖动其自动填充柄向下,即可快速获得其余结果。

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

展示 Excel TEXTBEFORE 函数的用法

注意:在公式中,-1 用于从末尾开始查找原文本字符串。


相关函数

Excel TEXTAFTER 函数
TEXTAFTER 函数可用于提取并返回指定子字符串或分隔符后面的文本内容。

Excel TEXTSPLIT 函数
TEXTSPLIT 函数可根据指定分隔符,将文本字符串拆分为由列和行组成的数组。

Excel VALUETOTEXT 函数
VALUETOTEXT 函数可将任意指定值轻松转换为文本格式。


这款最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

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

Kutools for Excel 拥有超过 300 项功能,让您的需求只需轻点鼠标即可满足……


Office Tab —— 为 Microsoft Office(含 Excel)带来标签式阅读与编辑

  • 一秒钟即可切换数十个已打开的文档!
  • 每天为您减少上百次鼠标点击,轻松告别鼠标手困扰。
  • 在同时查看和编辑多个文档时,您的工作效率提升高达 50%。
  • 为 Office(包括 Excel)带来高效标签页体验,操作流畅如同在 Chrome、Edge 或 Firefox 浏览器中切换标签页。