对有序数据进行分组统计

例题描述和简单分析

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


A B C D W
1 序号 时间 7-1 7-9 11-2
2 1 2021-07-26 00:00:00 2.51 2.51 2.51
3 2 2021-07-26 01:00:00 2.54 2.54 2.54
4 3 2021-07-26 02:00:00 2.51 2.51 2.51
5 4 2021-07-26 03:00:00 2.51 2.51 2.51
170 169 2021-08-02 00:00:00 2.54 2.54 2.54

时间列以小时为粒度,需要计算C列至W列每天的最大值,结果如下所示:


A B C D W






172
7/26/2021 2.55 2.55 2.55
173
7/27/2021 2.54 2.54 2.54
174
7/28/2021 2.55 2.55 2.55

解法及简要说明

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


A
1 =file("Book1.xlsx").xlsimport@t()
2 =21.("max(#"/(~+2)/")").concat@c()
3 =A1.groups@o(date(#2);${A2})

简要说明:

A1   Excel读成序表

A2  拼出CW列计算最值的表达式

A3   A1按日期分组,求最值

执行程序后,在集算器中选中A3单元格,再点击右侧对应的“copy data”按钮。在 Excel 文件中,点击 B172,按 Ctrl+V 就可以把计算结果粘贴过来。

问答搜集

https://club.excelhome.net/thread-1595114-1-2.html