首页 > 解决方案 > 在excel vba中使用循环平均特定范围的数据

问题描述

我有每秒(1Hz)采集的温度数据。

在此处输入图像描述

我想将此数据减少到几分钟,并平均每 60 秒的数据。这将是这样的。

在此处输入图像描述

我尝试过移动平均线和其他方法,但没有奏效。是否有任何 VBA 代码可以实现我的目标或任何特殊功能。

我的时间数据范围是 [A3] - [A88739],数据范围是 [B3] 到 [B99739]

我将等待您的答复。

谢谢!

标签: excelvbadatabasereduce

解决方案


我认为更简单的方法是使用辅助列。

仅当您的时间数据始终与您发布的数据相同并且最后 6 个字符可以.XXXXXX字母或数字时才有效,但前导点很重要

在此处输入图像描述

我在 C 列中的公式是=VALUE(SUBSTITUTE(LEFT(A3;LEN(A3)-6);".";"/"))

然后使用数据透视表,您可以按天、小时和分钟对数据进行分组,并获得平均值。

我的数据透视表的设置:

  1. 字段Helper到行部分,并按天、小时和分钟分组
  2. 字段Temp进入值部分,并选择平均值而不是求和

在此处输入图像描述


推荐阅读