我有两列数据,每小时有5到6米读数:
time (HH:MM:SS) (C3:C103) meter readings (D3:D103). 我想平均每小时的读数,以将数据压缩为每小时一个平均仪表读数。
我尝试过=Averageif(C3:C103,Hour=10,D3:D103),但显然有些地方不对劲。
发布于 2014-12-30 07:31:33
假设你只有C3:C103格式的时间值(没有日期),那么你可以得到这样的结果:
向下列出F2中的数字0到23,然后在复制下来的G2中使用此公式
=AVERAGEIFS(D$3:D$103,C$3:C$103,">="&F2/24,C$3:C$103,"<"&(F2+1)/24)
这将为您提供一个表,其中包含每小时的结果
发布于 2014-12-30 08:12:42
你可以用一个公式做到这一点。
下面是一个数组公式(需要按Ctrl + Shift + Enter,而不是只按Enter键来添加它),它适用于10点以内的任何事情。
{=AVERAGE(IF(HOUR(C3:C55)=10,D3:D55))}再次键入不带大括号的公式,然后按住Ctrl + Shift,然后按Enter
基本上,该公式查看每个条目的小时数,检查它是否为10,如果前面的条件为真,则对相邻的数字求平均值。
替代方案:
如果您只使用数据透视表,则根本不需要公式(或任何帮助器列)。
Show Values As ... Average。在透视表中,右键单击时间数据并选择组选项。在选项框中选择Hours only,然后单击OK。这将为您提供每小时的平均值,而不需要任何额外的公式。它还很好,因为它在创建后只需要很少的维护,而不是每次获得新数据时都要刷新。
发布于 2014-12-30 08:09:29
对我之前的评论的解决方案:
使用数据透视表很容易做到这一点。首先,将HH:MM:SS列分解为仅小时列(因为您希望按小时进行分组)。然后将所有数据放入一个数据透视表中,并将“小时”列放在行标签中,将仪表读数(确保计算平均值,而不是计数)放在值域中。这应该是您需要的。
https://stackoverflow.com/questions/27697403
复制相似问题