13.5 行列的上层分类互转 - 行转列

 

有数据如下:

imagepng

首行是列名,分别是国家和其他信息列。现在要将该文件整理成如下形式:

imagepng

代码如下:

A
1 =E(‘Sheet2!A1:D4’).pivot@r(Country;Cate,Value;Meat,Vegetable,Oil)
2 =A1.group(Country).(~.run(Country=if(#==1,Country,""))).conj()
3 =transpose(A2.(#1|#2|#3))

A1 列转行操作,将列名 Meat,Vegetable,Oil 作为 Cate 的值,原 Meat,Vegetable,Oil 列对应的数值作为 Value 列的数据
A2 按国家分组,每组非首行国家数值为空,合并
A3 合并各列,变为序列的序列,对序列的序列转置后返回


帮你早下班 - esProc 桌面版与 Excel 数据处理
13.4 行列的上层分类互转 - 列转行
13.6 分类内数据横向拼入列