Excel中如何将固定格式长字符串按规则拆分到多个单元格
Excel 固定规则字符串拆分方案
首先从示例反推你的字符串拆分规则为固定位置截取,具体截取规则可根据你的实际需求调整参数,以下是两种可落地的实现方法:
方案1:Excel 365/2021 版本(一键批量拆分)
如果使用的是较新版本Excel,可直接用TEXTSPLIT+MID组合公式实现整列自动拆分,假设原始字符串存放在A列A1单元格,在B1输入如下公式即可自动溢出填充所有拆分列:
=TEXTSPLIT(CONCAT(MID(A1,{1,7,12,15,17,19,20,21,22,28},{6,4,3,2,2,1,1,1,6,2})&"|"),"|",,1)
参数说明:
- 第一组大括号
{1,7,12,15,17,19,20,21,22,28}是每个拆分字段的起始位置 - 第二组大括号
{6,4,3,2,2,1,1,1,6,2}是对应字段的截取长度 - 若需要批量处理整列数据,把公式里的
A1改成A:A即可
方案2:兼容所有Excel版本(逐列拆分)
如果使用的是2019及更早版本,逐列使用MID函数截取即可,原始字符串存放在A1单元格时:
- 第1个字段(B1单元格):
=MID($A1,1,6) - 第2个字段(C1单元格):
=MID($A1,7,4) - 第3个字段(D1单元格):
=MID($A1,12,3) - 后续字段根据需要修改
MID函数的第二个参数(起始位置)和第三个参数(截取长度)即可 - 单行公式写完后,选中整行公式向下拖拽即可批量处理所有行的数据
特殊场景适配:如果字符串中X的位置不固定,可先用
FIND("X",A1)定位X的位置,再基于这个值计算各字段的偏移量,即可适配长度不固定的字符串拆分需求。
内容的提问来源于stack exchange,提问作者Gokul.Mohan
相关产品推荐
相关产品推荐

