如何把同一类型下的数据横向列到多个单元格中
例题描述
有Excel文件book1.xlsx中有下图所示的数据,同型号的设备可能有多个生产单位。
现在想要把数据列出下图的形式,每个设备一行,每个生产单位为一列。
实现步骤
编写脚本:
A |
|
1 |
=clipboard().import@t().derive(单位编号) |
2 |
=A1.group(型号) |
3 |
=A2.run(~.run(单位编号="生产单位"/#)) |
4 |
=A1.pivot(型号;单位编号,生产单位) |
5 |
=clipboard(A4.export@t()) |
A1 从剪贴板里读取数据,选项@t表示首行是列标题,同时增加一列单位编号
A2 按型号分组
A3 循环各组,再循环各组的记录,设置单位编号="生产单位"+该记录在组中的序号
A4 把A1进行行转列转置,以型号为分组,单位编号为转置后的列名,生产单位为对应的列值
A5 把A4中数据转换成字符串后放进剪贴板,选项@t表示首行是列标题
代码写好以后,到Excel文件里选择数据A1:B13,然后按Ctrl+C复制到剪贴板。
回到集算器,按F9运行程序,运行结束后再回到Excel文件,点击D1,按Ctrl+V就可以把计算结果粘贴过来。
【附件】 group2cols.zip