相邻同类项求和

相邻同类项求和

例题描述和简单分析

Excel文件Book1.xlsx,数据如下所示:


A B C
1 部门 KPI 金额
2 市场部 0 32091
11 市场部 1 5182
12 市场部 1 6315
13 市场部 1 27477
22 运营部 1 9950
23 运营部 1 9625
24 运营部 1 47277
25 运营部 1 32016
26 运营部 1 49575
27 运营部 1 44615
28 运营部 0 6158

需要求出KPI连续数值1之间的最大的连续次数与金额和,结果如下所示:


A B C D
1 部门 KPI 金额 市场部最大连续次数3,和38974
2 市场部 0 32091 运营部最大连续次数6,和193058

11 市场部 1 5182
12 市场部 1 6315
13 市场部 1 27477

22 运营部 1 9950
23 运营部 1 9625
24 运营部 1 47277
25 运营部 1 32016
26 运营部 1 49575
27 运营部 1 44615
28 运营部 0 6158

解法及简要说明

在集算器中编写脚本p1.dfx,如下所示: 


A
1 =file("Book1.xlsx").xlsimport@t()
2 =A1.groups@o(部门,KPI;count(1),sum(金额))
3 =A2.select(KPI==1)
4 =A3.group(部门;~.top@1(-1;#3))
5 =A4.(部门/"最大连续次数"/#2.#3/",和"/#2.#4)

简要说明:

A1   Excel读成序表

A2  按部门,KPI相邻分组;计数,金额求和

A3   过滤出KPI1的结果

A4  按部门分组,用top找出最大的连续次数的那段数据

A5  每个部门拼出需要的结果串

执行后,选中A5格,点复制数据,再在ExcelD1粘贴数据即可

问答搜集

http://club.excelhome.net/thread-1586930-1-1.html