如何在Google Sheets中用QUERY函数按小时分组统计数据
Google Sheets 按小时分组统计Ids数量(仅用QUERY函数)
核心方案
利用QUERY函数结合时间格式化/小时提取,实现按小时区间分组统计Ids数量,以下提供两种常用格式的公式:
格式1:显示完整小时区间(如「10:00-11:00」)
假设时间列是A列,Ids列是B列,使用以下公式:
=QUERY(A:B, "SELECT FORMAT(A, 'HH:mm')&'-'&FORMAT(A+TIME(1,0,0), 'HH:mm'), COUNT(B) WHERE A IS NOT NULL GROUP BY FORMAT(A, 'HH:mm')&'-'&FORMAT(A+TIME(1,0,0), 'HH:mm') ORDER BY FORMAT(A, 'HH:mm')", 1)
公式说明:
FORMAT(A, 'HH:mm')&'-'&FORMAT(A+TIME(1,0,0), 'HH:mm'):将时间转换为「起始时间-结束时间」的区间字符串COUNT(B):统计对应小时内的Ids总数WHERE A IS NOT NULL:过滤无时间记录的空行GROUP BY:按格式化后的小时区间分组聚合ORDER BY:按小时顺序排序结果- 末尾参数
1表示表格第一行为表头
格式2:仅显示小时数(如「10」)
如果只需要小时数字,可简化公式:
=QUERY(A:B, "SELECT HOUR(A), COUNT(B) WHERE A IS NOT NULL GROUP BY HOUR(A) ORDER BY HOUR(A)", 1)
公式说明:
HOUR(A):直接提取时间的小时数值- 其余逻辑同格式1,最终会输出「小时数-数量」的统计结果
注意事项
- 确保A列的「Time」是标准时间格式,若为文本格式,需先通过
TIMEVALUE函数转换为时间后再使用QUERY - 若需要统计去重后的Ids数量,将
COUNT(B)替换为COUNT(DISTINCT B)即可
内容的提问来源于stack exchange,提问作者Pooja Dalwani
相关产品推荐
相关产品推荐

