13.11 将多个列重新排版成交叉表
有数据如下:
把数据变换成如下形式:
代码如下:
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 为新的列值