使用相邻数据作为分组条件
举例
有 Excel 文件 Book1.xlsx,数据如下所示:
051000 |
55.74 |
055000 |
61.47 |
056000 |
44.53 |
062000 |
142.11 |
081000 |
142.11 |
088000 |
44.53 |
092000 |
52.89 |
095100 |
118.37 |
096500 |
354.8 |
096700 |
6.49 |
099100 |
44.53 |
102600 |
162.74 |
需要按第一列分组,对第二列的数值求和。分组条件为: 如果本条不为空,且上一条为空,且上上条和本条的前两位数字不同,则分新一组。计算结果如下:
051000 |
161.74 |
062000 |
142.11 |
081000 |
186.64 |
092000 |
577.08 |
102600 |
162.74 |
编写 SPL 脚本:
A |
|
1 |
=file("Book1.xlsx").xlsimport() |
2 |
=A1.group@i(if(#1 && #1[-1]==null && left(#1,2)!=left(#1[-2],2))) |
3 |
=A2.new(#1,round(~.sum(#2),2)) |
4 |
=file("result.xlsx").xlsexport@(A3) |
A1 读取 excel 文件内容
A2 按条件(本条不为空,且上一条为空,且上上条和本条的前两位数字不同)分组
A3 计算各组内第二列数值的和,保留两位小数,#1 代表每组第一列的第一个值
A4 结果导出至 result.xlsx
英文已更新