返回在给定字符或字符串之前发生的文本。 它与 TEXTAFTER 函数相反。
语法
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE 函数语法具有下列参数:
text 你要在其中搜索的文本。 不允许使用通配符。 如果文本为空字符串,则 Excel 返回空文本。 必需。
分隔符 标记要提取其前面内容的文本。 必需。
instance_num 要在其中提取文本的分隔符的实例。 默认情况下,instance_num = 1。 负数开始从末尾搜索文本。 可选。
match_mode 确定文本搜索是否区分大小写。 默认为区分大小写。 可选。 输入以下内容之一:
-
0 区分大小写。
-
1 不区分大小写。
match_end 将文本结尾视为分隔符。 默认情况下,文本完全匹配。 可选。 输入以下信息:
-
0 请勿将分隔符与文本末尾匹配。
-
1 将分隔符与文本末尾匹配。
if_not_found 未找到匹配项时返回的值。 默认情况下,返回 #N/A。 可选。
备注
使用空分隔符值进行搜索时,TEXTBEFORE 将立即匹配。 从前端搜索时返回空文本 (如果 instance_num 为正),从末端搜索时返回整个文本 (如果 instance_num 为负)。
示例 |
结果 |
---|---|
=TEXTBEFORE("Red riding hood’s, red hood", "hood") |
小红帽 |
=TEXTBEFORE("Red riding hood’s, red hood", "") |
|
=TEXTBEFORE("Red riding hood’s, red hood", "", -1) |
小红帽的,红色帽子 |
错误
-
Excel 返回 #VALUE! 如果 instance_num = 0 或 instance_num 大于文本长度,则为错误。
-
如果文本中未包含分隔符,Excel 将返回#N/A 错误。
-
如果instance_num大于文本中分隔符的出现次数,Excel 将返回#N/A 错误。
示例
复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 如果需要,可调整列宽以查看所有数据。
数据 |
||
小红帽的红色帽子 |
||
小红帽的红色帽子 |
||
公式 |
结果 |
|
=TEXTBEFORE(A2,"Red") |
小 |
|
=TEXTBEFORE(A3,"Red") |
#N/A |
|
=TEXTBEFORE(A3,"red",2) |
小红帽的 |
|
=TEXTBEFORE(A3,"red",-2) |
小 |
|
=TEXTBEFORE(A3,"Red",,FALSE) |
#N/A |
|
=TEXTBEFORE(A3,"red",3) |
#N/A |
数据 |
|
马库斯·奥雷利乌斯 |
|
苏格拉底 |
|
康德 |
|
公式 |
结果 |
=TEXTBEFORE(A2," ",,,1) |
马库斯 |
=TEXTBEFORE(A3," ",,,0) |
#N/A |
=TEXTBEFORE(A3," ",,,1) |
苏格拉底 |
=TEXTBEFORE(A4," ",,,1) |
以马内利 |