如何在Google Sheets中按日聚合15分钟时序数据的MIN、MAX、AVG
Google Sheets 按日汇总时序数据的三种方法
方法1:QUERY函数(贴近SQL逻辑,最高效)
假设你的日期时间列是A列,需要计算指标的数值列是B列,在空白单元格输入以下公式即可直接生成带表头的汇总表:
=QUERY(A:B, "SELECT DATE(A), MIN(B), MAX(B), AVG(B) WHERE A IS NOT NULL GROUP BY DATE(A) LABEL DATE(A) '日期', MIN(B) '最小值', MAX(B) '最大值', AVG(B) '平均值'", 1)
DATE(A)提取日期时间中的纯日期部分,实现按日分组MIN(B)/MAX(B)/AVG(B)对应需求的三个统计指标WHERE A IS NOT NULL过滤空行避免干扰GROUP BY DATE(A)核心分组逻辑,和SQL完全一致- 最后一个参数
1表示你的原始数据第一行是表头
方法2:UNIQUE + AGGREGATE 组合(符合你推测的思路)
- 提取唯一日期:在空白列(比如C列)输入
=UNIQUE(DATE(A:A)),自动生成所有不重复的日期列表 - 计算最小值:在D2单元格输入公式,下拉填充:
=AGGREGATE(15, 6, B:B/(DATE(A:A)=C2), 1)
- 计算最大值:在E2单元格输入公式,下拉填充:
=AGGREGATE(14, 6, B:B/(DATE(A:A)=C2), 1)
- 计算平均值:在F2单元格输入公式,下拉填充:
=AGGREGATE(1, 6, B:B/(DATE(A:A)=C2))
AGGREGATE参数说明:第一个参数15对应MIN,14对应MAX,1对应AVERAGE;第二个参数6表示忽略计算产生的错误值(不匹配日期的行会返回#DIV/0!,被自动排除)
方法3:数据透视表(可视化操作,无需写公式)
- 选中你的全部数据区域,点击顶部菜单栏「数据」→「数据透视表」
- 在右侧弹出的透视表设置面板:
- 将日期时间字段拖到「行」区域,点击字段右侧的下拉箭头,选择「创建日期分组」→「日」,自动按日期聚合
- 将数值字段连续拖到「值」区域三次,分别点击每个值字段的下拉箭头,修改「汇总方式」为「最小值」「最大值」「平均值」
- 按需修改表头名称,即可得到符合要求的汇总表
内容的提问来源于stack exchange,提问作者BurgerTown
相关产品推荐
相关产品推荐

