让 Excel 每 49-50 行计算大型数据集的平均值

让 Excel 每 49-50 行计算大型数据集的平均值

我正在处理一个大型数据集。这是前几行的图片。

这里

大约每 50 行,循环数就会增加 1。但是,用于数据采集的程序有时会错过收集,最终导致每循环 49 个点而不是每循环 50 个点。

我想要做的是计算每个单独周期每列数据的平均数,但我需要以某种方式解释每个周期点数的变化。

我一直在使用:

AVERAGE(OFFSET($A$2,(ROW()-2)*50,0,50,1))

但是当每个循环中的行数发生变化时,我无法弄清楚如何使其动态化。

答案1

如果您有 Office 365 或 Office 2019,则可以使用 AverageIf()。

=AVERAGEIF($A$2:$A$10,A2,$B$2:$B$10)

在没有此功能的早期版本的Excel中,您可以使用这种方法:

=AVERAGE(INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,0)):INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,1)))

屏幕截图显示了这两个公式的实际作用。

在此处输入图片描述

编辑:如果您希望平均值仅显示在具有新循环编号的行上,请将整个公式放在 IF 语句中,例如

=if(A2<>A1,AVERAGE(INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,0)):INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,1))),"")

相关内容