Google Sheets按每日每小时计算风寒平均值的实现方案
Google Sheets 按小时计算风寒值平均值方案
方法1:使用AVERAGEIFS函数(推荐,直观易理解)
假设你的Charted Hourly工作表中,日期+小时的单元格为A2(例如2024-01-18 15:00),在需要显示平均值的单元格(比如B2)输入以下公式:
=AVERAGEIFS(thermostatLogs!W:W, thermostatLogs!A:A, ">="&A2, thermostatLogs!A:A, "<"&A2+1/24)
- 逻辑:
A2+1/24代表当前小时的下一小时起始时间(Google Sheets中1代表一整天,1/24就是1小时),通过两个条件筛选出thermostatLogs表A列中属于当前小时区间的所有行,再计算对应W列的风寒值平均值。 - 操作:输入公式后下拉填充,即可批量计算所有小时的平均值。
方法2:使用QUERY函数(适合复杂数据筛选场景)
同样以Charted Hourly的A2为目标小时,在目标单元格输入:
=QUERY(thermostatLogs!A:W, "SELECT AVG(W) WHERE A >= datetime'"&TEXT(A2,"yyyy-MM-dd HH:mm:ss")&"' AND A < datetime'"&TEXT(A2+1/24,"yyyy-MM-dd HH:mm:ss")&"' LABEL AVG(W) ''", 0)
- 逻辑:通过QUERY语句筛选时间区间内的数据,计算W列的平均值,
LABEL AVG(W) ''用于移除默认生成的表头文字,只保留数值。
注意事项
- 确保
thermostatLogs表A列的时间为Google Sheets可识别的日期时间格式,否则公式会失效。 - 若W列存在空白单元格,两个函数都会自动忽略这些值,不影响平均值计算。
内容的提问来源于stack exchange,提问作者Joe S
相关产品推荐
相关产品推荐

