我有两列数据,每小时读数为五或六米:
time (HH:MM:SS) (C3:C103) meter readings (D3:D103).
我想平均每小时的读数,将数据压缩到每小时平均读数一次。
我试过=Averageif(C3:C103,Hour=10,D3:D103)
但显然有些不对劲。
答案 0 :(得分:1)
假设您只有C3:C103
中的时间值(不是日期),那么您可以得到这样的结果:
在F2中列出数字0到23,然后在G2中复制使用此公式
=AVERAGEIFS(D$3:D$103,C$3:C$103,">="&F2/24,C$3:C$103,"<"&(F2+1)/24)
这将为您提供一个表格,其中包含每小时的结果
答案 1 :(得分:1)
您可以使用一个公式执行此操作。
以下是数组公式(需要按Ctrl
+ Shift
+ Enter
,而不只是按Enter键添加),适用于10点钟的任何内容小时。
{=AVERAGE(IF(HOUR(C3:C55)=10,D3:D55))}
再次输入不带大括号的公式,然后按住Ctrl
+ Shift
,然后按Enter
基本上,公式查看每个条目的小时,检查它是否为10,然后如果前一个条件为真则平均相邻的数字。
ALTERNATIVE:
如果您只使用数据透视表,则根本不需要公式(或任何帮助列)。
Show Values As ... Average
。Hours
,然后单击“确定”。这将为您提供每小时的平均值,而无需任何其他公式。它也很好,因为除了每次获取新数据时刷新之外,它在创建后几乎不需要维护。
答案 2 :(得分:0)
我前面评论的解决方案:
使用数据透视表可以轻松完成此操作。首先,将HH:MM:SS列分解为小时列(因为您希望按小时分组)。然后将所有数据放入数据透视表中,并将'hours'列放在行标签中,并将值读数(确保平均值,而不是计数值)放在值字段中。这应该是你需要的。