excel 公式计算连续 24 小时块的平均值?

excel 公式计算连续 24 小时块的平均值?

Microsoft Excel 2010,输入文件包含数千行每小时数据,因此每天有 24 个值(行)。

假设我的数据从 B1 开始,假设我将第 1 天的平均值放入 C1。C1 单元格的内容将是 =AVERAGE(A1:A24),到目前为止一切顺利。

问题是我需要在 C2 单元格中输入什么才能使 C2 单元格的内容变成 A:25 到 A:48 的平均值,这样我可以将相同的公式复制到 C 列,并且它会适当地在 C3 中填充为 A:49 到 A:72 的平均值等等?

答案1

Excellll 方法的变体.....

尝试将这个公式复制到 C1 中

=AVERAGE(OFFSET(A$1,(ROWS(C$1:C1)-1)*24,0,24))

....或者....上述方法的一个缺点是可能很难理解公式实际上在做什么:这种方法将把明确的 AVERAGE每个单元格中的公式:

将此公式粘贴到 C1 中并向下复制

="=AVERAGE(A"&(ROWS(C$1:C1)-1)*24+1&":A"&ROWS(C$1:C1)*24&")"

这会将所有公式创建为文本......

现在通过以下方式将它们转换为实际公式

选择列 > 右键单击​​ > 复制 > 右键单击​​ > 选择性粘贴 > 值 > 确定 > 文本到列 > 完成

答案2

如果它可以在您的环境中发挥作用,我会考虑使用数据透视表来执行此操作。

假设您的时间采用正确的 Excel 日期时间格式(如果不是,请创建一个新列并创建公式将其转换为日期时间):

  • 选择 A1 到 B5000(或者你认为最终能到达的最远距离)
  • 创建数据透视表并将其放在 C 列
  • 在行标签区域添加 A-Hours
  • 按天分组(右键单击日期,选择“组”,然后选择“天”)
  • 在值区域添加 B-Data 并将其设置为平均值而不是总和。

这个解决方案是:

  • 易于实现
  • 容易明白
  • 灵活(可以移动、过滤、按月汇总等)
  • 防错/无忧:如果您遗漏了一行或以某种方式破坏了偏移量,它仍将根据实际数据正确计算您的每日平均值,而不是依赖于行数假设。您甚至可以在值区域添加额外的计数,以确认您每天确实有 24 个值。

相关内容