首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >平均每小时的仪表读数

平均每小时的仪表读数
EN

Stack Overflow用户
提问于 2014-12-30 07:14:42
回答 3查看 1.4K关注 0票数 1

我有两列数据,每小时有5到6米读数:

代码语言:javascript
复制
time (HH:MM:SS) (C3:C103)        meter readings (D3:D103). 

我想平均每小时的读数,以将数据压缩为每小时一个平均仪表读数。

我尝试过=Averageif(C3:C103,Hour=10,D3:D103),但显然有些地方不对劲。

EN

回答 3

Stack Overflow用户

发布于 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)

这将为您提供一个表,其中包含每小时的结果

票数 1
EN

Stack Overflow用户

发布于 2014-12-30 08:12:42

你可以用一个公式做到这一点。

下面是一个数组公式(需要按Ctrl + Shift + Enter,而不是只按Enter键来添加它),它适用于10点以内的任何事情。

代码语言:javascript
复制
{=AVERAGE(IF(HOUR(C3:C55)=10,D3:D55))}

再次键入不带大括号的公式,然后按住Ctrl + Shift,然后按Enter

基本上,该公式查看每个条目的小时数,检查它是否为10,如果前面的条件为真,则对相邻的数字求平均值。

替代方案:

如果您只使用数据透视表,则根本不需要公式(或任何帮助器列)。

  1. 选择您的数据
  2. 将您的时间列添加到透视表的行标签部分
  3. 将您的仪表读数列添加到透视表中的值部分
  4. 右键单击仪表读数数据并在菜单中选择Show Values As ... Average。在透视表中,右键单击时间数据并选择组选项。在选项框中选择Hours only,然后单击OK。

这将为您提供每小时的平均值,而不需要任何额外的公式。它还很好,因为它在创建后只需要很少的维护,而不是每次获得新数据时都要刷新。

票数 1
EN

Stack Overflow用户

发布于 2014-12-30 08:09:29

对我之前的评论的解决方案:

使用数据透视表很容易做到这一点。首先,将HH:MM:SS列分解为仅小时列(因为您希望按小时进行分组)。然后将所有数据放入一个数据透视表中,并将“小时”列放在行标签中,将仪表读数(确保计算平均值,而不是计数)放在值域中。这应该是您需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27697403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档