每 N 列一组转成多行
举例
某Excel文件book1.xlsx从第2列开始,每两列是一对(即除第1列之外的偶数列和奇数列,比如第2列和第3列),这样的列共4对,具体如下:
现在需要按照第1列、所有的偶数列分组,组内对奇数列汇总。结果应当如下:
编写SPL脚本:
A |
|
1 |
=file("E:/work/book1.xlsx").xlsimport@w().to(2,) |
2 |
=A1.news(~.len()\2;A1.~(1):Micro,A1.~(#*2):Group,A1.~(#*2+1):Series) |
3 |
=A2.groups(Micro,Group;sum(Series):Series) |
4 |
=T("E:/work/book2.xlsx",A3) |
A1 读入book1.xlsx文件数据,选项@w表示读成序列的序列。读出后再取第2行到最后一行
A2 对A1的每1行进行扩展,扩展出的行数为:本行成员个数整除2的商。扩展出的行中第1列Micro为A1的第1个成员,第2列Group为A1的#*2个成员,第3列Series为A1的#*2+1个成员,这里的#代表本行扩展出的行号。
A3 对A2按照Micro和Group分组,算出Series的和命名为Series列
A4 将A3保存到文件book2.xlsx