
大家好,今天为大家带来一种通过公式实现按指定字符对单元格内容进行分列的方法。
相信很多朋友都熟悉 Excel 自带的「数据→分列」功能,它能快速依据特定分隔符(如短横线、逗号等)将一列文本拆分为多列。但该方法属于手动操作,若需反复处理类似数据,效率较低,也难以实现自动化。
接下来,我们将借助函数组合,用纯公式的方式完成动态分列,无需每次点击菜单。
原始数据如下所示:
公式说明
本方案核心在于灵活运用 TRIM、MID、SUBSTITUTE、REPT 和 LEN 等文本处理函数,精准提取第 n 段被分隔符隔开的内容,并填入对应列中。通用公式结构如下:
=TRIM(MID(SUBSTITUTE(待分列单元格,"-",REPT(" ",LEN(待分列单元格))),(COLUMN(A$1)-1)*LEN(待分列单元格)+1,LEN(待分列单元格)))
其中,(COLUMN(A)-1) 控制提取顺序:A 列对应第 1 段(即索引为 0),B 列对应第 2 段(索引为 1),依此类推。
以本例为例,C3 单元格中的具体公式为:
=TRIM(MID(SUBSTITUTE($B3,"-",REPT(" ",LEN($B3))),(COLUMN(A$1)-1)*LEN($B3)+1,LEN($B3)))
输入该公式后,向右拖拽填充至 D3、E3、F3 三个单元格;
随后,选中 C3:F3 区域,向下复制至所有目标行:
如此即可批量完成分列效果。若后续数据分段数增多,只需继续向右扩展公式区域即可,灵活性强、可复用性高。











