Σ表格公式学堂EXCEL FORMULA & SCENARIO
组合数据拆分合并 · 2 个 Sheet

一列多值拆成多行

一格里有「A、B、C」,要拆成三行。

1

场景背景

有时一格塞了多个值:一个订单包含多个商品,用逗号隔开。要做数据分析,必须拆成「一行一个商品」。365 可以用 TEXTSPLIT,老版本靠 Power Query 的「按分隔符拆分到行」。

2

数据结构

共 2 个 Sheet
Sheet:订单
字段含义示例值
订单号一个订单一行SO-001
商品逗号分隔的多个商品A4纸,签字笔,文件夹
Sheet:拆分后
字段含义示例值
订单号重复出现SO-001
商品一行一个A4纸
3

解决步骤

1
第 1 步:确认分隔符
先看清楚是英文逗号、中文逗号还是顿号,分隔符不统一先统一。
2
第 2 步:TEXTSPLIT 拆成一列
365 用 TEXTSPLIT 按逗号拆分,第三个参数 TRUE 表示拆成一行一行的。
=TEXTSPLIT(B2,,",")
3
第 3 步:生成重复的订单号
按拆出的商品个数重复订单号,用 TEXTJOIN + REPT 或 SEQUENCE 配合。
=TEXTJOIN(",",TRUE,REPT(A2&",",LEN(B2)-LEN(SUBSTITUTE(B2,",",""))+1))
4
第 4 步:老版本用 Power Query
数据 → 来自表格 → 选中列 → 拆分列 → 按分隔符 → 高级选项选「拆分为行」→ 关闭并上载。这是最稳的批量做法。
4

完整公式与逐段拆解

=TEXTSPLIT(B2,,",")
B2要拆的文本
(第 2 参数空)不按行分隔符拆
","按英文逗号拆成多列/多行
5

多 Sheet 示例

在编辑器中打开 ↗
AB
1订单号商品
2SO-001A4纸
3SO-001签字笔
4SO-001文件夹
5SO-002显示器
当前表:拆分后 · 公式单元格 A2 · 绿色底为公式,蓝色底为动态数组溢出结果

拆分后一个订单变成三行,方便按商品统计

6

数据流向

数据流向演示1 / 4
来源订单!B2
➜
去向按逗号拆分
一格里的三个商品
来源按逗号拆分
→
去向3 个值
拆成 3 段
来源订单!A2
→
去向3 行
订单号重复 3 次
来源3 行
→
去向拆分后!A2:B4
写成 3 行明细
跟着高亮一步步看数据怎么流动
7

注意事项与坑

!分隔符前后有空格会多出空值,先 SUBSTITUTE 把「, 」换成「,」。
!拆完要注意行数膨胀,10 万行拆完可能上百万行。
!TEXTSPLIT 是 365 函数,2019 及更早不支持。
8

相关场景