举例
有 Excel 文件 mat.xlsx,部分数据如下所示:
| 5 | 10 | 2 | 1 | 9 |
| 5 | 2 | 10 | 3 | 9 |
| 7 | 4 | 8 | 6 | 10 |
| 5 | 3 | 7 | 1 | 1 |
| 5 | 2 | 5 | 4 | 8 |
| 7 | 4 | 2 | 7 | 1 |
| 9 | 9 | 10 | 4 | 8 |
| 6 | 1 | 7 | 2 | 7 |
| 10 | 6 | 7 | 8 | 3 |
| ... | ... | ... | ... | ... |
数字的范围从 1 至 10,现在要计算每列中各个数字出现的次数,结果如下(共 10 行,对应数字 1 至 10,每列是对应列出现该数字的次数):
| 11 | 10 | 10 | 7 | 11 |
| 9 | 8 | 7 | 5 | 9 |
| 5 | 9 | 4 | 9 | 8 |
| 9 | 15 | 5 | 11 | 7 |
| 13 | 6 | 11 | 15 | 10 |
| 11 | 9 | 14 | 12 | 8 |
| 15 | 11 | 13 | 5 | 9 |
| 7 | 11 | 7 | 12 | 15 |
| 11 | 9 | 9 | 12 | 11 |
| 9 | 12 | 20 | 12 | 12 |
编写SPL脚本:
| A | |
| 1 | =file("mat.xlsx").xlsimport() |
| 2 | =A1.fno().(A1.field(~).groups@nb(~;count(~)).(#1)) |
| 3 | =transpose(A2) |
| 4 | =file("result.xlsx").xlsexport@w(A3) |
A1 读取 excel 文件内容
A2 循环每列,计算每列中各个数值重复出现的次数(group@n,按序号分组,用 count 求每个数字重复出现的次数,@b 是只返回聚合列)
A3 转置,行转列
A4 结果导出至 result.xlsx
686

被折叠的 条评论
为什么被折叠?



