Excel中截取中间字符有五种方法:一、MID函数提取固定位置字符;二、FIND+MID动态定位分隔符间内容;三、TEXTAFTER与TEXTBEFORE嵌套提取;四、SUBSTITUTE+LEN+MID按次数提取;五、Power Query可视化拆分提取。

如果您需要从Excel单元格中截取中间位置的特定字符,例如提取姓名中的姓氏、身份证号中的出生年份或产品编码中的型号段,则需依据目标字符在原字符串中的起始位置和长度,调用相应的文本提取函数。以下是实现该操作的多种方法:
一、使用MID函数提取固定位置的中间字符
MID函数专用于从文本字符串的指定起始位置开始,按指定字符数截取子字符串,适用于已知目标内容在源字符串中确切位置的情形。
1、在目标单元格中输入公式:=MID(A1,3,4)(假设A1为原始数据,从第3个字符开始,提取4个字符)。
2、按Enter键确认,结果即显示A1中第3至第6位的字符。
3、将公式向下拖拽填充至其他行,完成批量提取。
二、结合FIND与MID函数动态定位并提取
当目标字符前后存在固定分隔符(如“-”、“_”、“(”等)时,可先用FIND定位分隔符位置,再通过MID计算起始点与长度,实现灵活截取。
1、在目标单元格中输入公式:=MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1)(提取第一个“-”与第二个“-”之间的内容)。
2、若原始字符串中可能不含分隔符,需嵌套IFERROR防止报错,例如:=IFERROR(MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1),"")。
3、按Enter键确认后,复制公式至其余目标单元格。
三、使用TEXTBEFORE与TEXTAFTER函数(Microsoft 365 / Excel 2021)
TEXTAFTER可提取指定分隔符之后的内容,TEXTBEFORE可提取其之前的内容,二者嵌套使用可精准捕获两分隔符之间的中间段。
1、在目标单元格中输入公式:=TEXTBEFORE(TEXTAFTER(A1,"-"),"-")(提取第二个“-”之前、第一个“-”之后的内容)。
2、若需提取第n次出现后的中间段,可设置实例参数,例如:=TEXTBEFORE(TEXTAFTER(A1,"-",2),"-")(从第二次“-”后开始,取到第三次“-”前)。
3、按Enter键执行,结果即时返回。
四、利用SUBSTITUTE与LEN配合MID实现按次数提取
当目标字符位于重复出现的相同分隔符之间,且无法直接用FIND定位多次时,可通过替换法将前n-1次分隔符替换为空,再定位首个剩余分隔符位置。
1、在目标单元格中输入公式:=MID(SUBSTITUTE(A1,"-","@",1),FIND("@",SUBSTITUTE(A1,"-","@",1))+1,FIND("-",SUBSTITUTE(A1,"-","@",2))-FIND("@",SUBSTITUTE(A1,"-","@",1))-1)(提取第一次与第二次“-”之间内容)。
2、公式中所有SUBSTITUTE均需保持一致的替换逻辑,@仅为临时标记,不可在原始数据中出现。
3、确认输入无误后按Enter键生成结果。
五、借助Power Query进行可视化中间字符提取
对于大量非结构化文本或需反复复用提取规则的场景,Power Query提供图形化界面,支持按分隔符拆分列后再选取指定列,避免复杂公式编写。
1、选中数据区域,点击【数据】→【从表格/区域】,勾选“表包含标题”,点击确定进入Power Query编辑器。
2、右键点击需处理的列名,选择【拆分列】→【按分隔符】,在弹出窗口中输入分隔符(如“-”),选择“每个出现次数”,点击确定。
3、拆分后会出现多列,删除不需要的列,仅保留代表中间段的列,点击【关闭并上载】完成导入。










