在日常处理Excel数据时,经常需要从一个完整的字符串中提取出某一部分。Excel中有两个专门用于提取字符的函数——TEXTBEFORE和TEXTAFTER,可以根据指定的分隔符,快速提取左侧或右侧的内容。
一、TEXTBEFORE函数:提取分隔符前的内容
TEXTBEFORE函数的作用是返回分隔符之前的全部字符。
语法:=TEXTBEFORE(要处理的文本, 分隔符)
案例:A列是姓名,B列是完整的电话号码,格式为“区号-号码”,如“010-12345678”。需要在C列提取出减号前面的区号。
操作步骤:
1、选中C2单元格,输入公式:
=TEXTBEFORE(B2, "-")
2、按回车确认,区号“010”就提取出来了。
3、双击C2右下角填充柄,公式自动应用到所有行,每个号码的区号一次性全部提取完成。

二、TEXTAFTER函数:提取分隔符后的内容
TEXTAFTER函数的作用与TEXTBEFORE相反,返回分隔符之后的全部字符。
语法:=TEXTAFTER(要处理的文本, 分隔符)
案例:同样从“010-12345678”中提取减号后面的电话号码。
操作步骤:
1、在目标单元格输入公式:=TEXTAFTER(B2, “-“)
2、按回车确认,得到“12345678”。
3、下拉填充到所有行。

三、更多用法
提取第N次出现的分隔符内容
TEXTBEFORE和TEXTAFTER都支持第三参数,指定第几次出现的位置。
=TEXTBEFORE(B2, "-", 2) ' 提取第二个减号前的内容
这两个函数默认不区分大小写,如果需要区分,可以用第四参数控制。
四、使用注意
版本要求:TEXTBEFORE和TEXTAFTER函数仅支持Excel 365和最新版WPS,旧版本可以使用“分列”功能或FIND+LEFT/RIGHT组合替代。
找不到分隔符:如果文本中没有指定的分隔符,TEXTBEFORE会返回#N/A错误,TEXTAFTER同样返回#N/A。可以用IFERROR嵌套处理,比如=IFERROR(TEXTBEFORE(B2,"-"), B2)。
五、总结
Excel提取字符用TEXTBEFORE和TEXTAFTER两个函数:TEXTBEFORE提取分隔符左边的内容,TEXTAFTER提取分隔符右边的内容。