如何把同一类型下的数据横向列到多个单元格中

 

例题描述

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