发行说明
返回在给定字符或字符串之前发生的文本。 它与 TEXTAFTER 函数相反。
语法
=TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found])
TEXTBEFORE 函数语法具有下列参数:
文本 要在其中搜索的文本。 不允许使用通配符。 如果文本为空字符串,则 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 单元格中。 如果需要,可调整列宽以查看所有数据。
示例 1
| 小红帽的红色帽子 | ||
|---|---|---|
| 数据 | ||
| 小红帽的红色帽子 | ||
| 公式 | 结果 | |
| =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 |
示例 2
| 数据 | |
|---|---|
| 马库斯·奥雷利乌斯 | |
| 苏格拉底 | |
| 康德 | |
| 公式 | 结果 |
| =TEXTBEFORE(A2," ",,,1) | 马库斯 |
| =TEXTBEFORE(A3," ",,,0) | #N/A |
| =TEXTBEFORE(A3," ",,,1) | 苏格拉底 |
| =TEXTBEFORE(A4," ",,,1) | 以马内利 |