对有序数据进行分组统计

例题描述和简单分析

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