Excel如何计算一年8760个小时数据的各时段平均值?
计算Excel中每日同时段数据的平均值
假设你的小时数据从A1单元格开始(A1对应1月1日00:00,A2对应1月1日01:00,……,A8760对应12月31日23:00),以下是几种实现方法:
方法1:数组公式(适配全版本Excel)
要计算某个时段的平均值,比如00:00(对应行号模24余0的位置),在空白单元格输入:
=AVERAGE(IF(MOD(ROW($A$1:$A$8760)-1,24)=0,$A$1:$A$8760))
- 旧版Excel需按
Ctrl+Shift+Enter完成输入(公式会自动添加大括号标识为数组公式);Excel 365/2021直接回车即可。 - 计算其他时段时,把公式中的
0换成对应时段的数字(01:00换1,02:00换2,……,23:00换23),复制公式到24个单元格即可得到所有时段的平均值。
如果严格按照你“求和每第24个数值再除以365”的思路,可将公式改为:
=SUM(IF(MOD(ROW($A$1:$A$8760)-1,24)=0,$A$1:$A$8760))/365
方法2:数据透视表(可视化操作,无需复杂公式)
- 添加辅助列:在B1单元格输入
=MOD(ROW(A1)-1,24),下拉填充到B8760,B列会生成0-23的数字,对应00:00到23:00的时段。 - 选中
A1:B8760区域,点击「插入」→「数据透视表」,选择透视表的放置位置。 - 在透视表字段面板中:
- 将B列(时段)拖到「行」区域
- 将A列(数据)拖到「值」区域,右键点击值区域的字段,选择「值字段设置」→ 改为「平均值」
- 透视表会自动汇总出每个时段的平均值。
方法3:Excel 365动态数组公式(一键生成所有结果)
如果使用Excel 365或2021,可在B1单元格输入以下公式,回车后自动生成B1-B24的所有时段平均值:
=BYROW(SEQUENCE(24)-1,LAMBDA(x,AVERAGE(FILTER($A$1:$A$8760,MOD(ROW($A$1:$A$8760)-1,24)=x))))
内容的提问来源于stack exchange,提问作者Tomas
相关产品推荐
相关产品推荐

