13.11 将多个列重新排版成交叉表

 

有数据如下:

imagepng

把数据变换成如下形式:

imagepng

代码如下:

A
1 =‘Sheet1!A1:C19’
2 =create(Meal,Name,Flag)
3 =A1.to(2,).run(~.run( if(~!=null,A2.record([A1(1)(#),~ , “√”]))))
4 =A2.pivot(Name;Meal,Flag)

A2 创建有 Meal,Name,Flag 三列的序表
A3 循环 A1 的第 2 行开始的各行,再循环各行数据序列,如果序列成员不为空,则将它对应的列名和它本身依次插入 A2 的序表中,Flag 都设为√
A4 将 A2 以 Name 为分组进行 行转列,Meal 的值为新的列名,Flag 为新的列值


帮你早下班 - esProc 桌面版与 Excel 数据处理
13.10 分类后把分类转成列
13.12 分类内行列互换