如何实现相邻行满足特定条件时分组汇总
现有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 |
借助集算器可以很方便地完成这件事。
集算器安装包可去润乾网站下载集算器职场版,运行时需要一个授权,免费版本就够用。
1. 在集算器中编写脚本 groups.dfx:
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:section,round(~.sum(#2),2):amount) |
A1 读取 book1.xlsx 数据
A2 按条件(本条不为空,且上一条为空,且上上条和本条的前两位数字不同)分组
A3 计算每个分组内第二列数值的和,section 为每组第一列的第一个值
2. 执行脚本,A3 是需要计算出的结果。
英文版