如何计算包含空白的行中最后 10 个值的平均值

如何计算包含空白的行中最后 10 个值的平均值

我正在尝试计算某个联赛的高尔夫差点。赛程安排为 30 周,仅使用最近的 10 次得分来计算差点。数据如下所示:

样本数据

我使用这个公式来计算障碍:=ROUND((AVERAGE(Q3:AD3)-54)*0.8,0)

目前,我必须每周调整每个球员的范围,以仅包括他们最近的 10 次得分。我该如何改进此公式来做到这一点?

答案1

您需要一个更复杂的公式来考虑最后 10 个单元格的数字:

=ROUND((AVERAGE(OFFSET(B2,0,LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10)-COLUMN(B2),1,COLUMN(W2)+1-LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10)))-54)*0.8,0)

在哪里:

  • LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10)获取从 10 开始的第一个数字的列号
  • OFFSET(B2,0,LARGE(...)-COLUMN(B2),1,COLUMN(W2)+1-LARGE(...),10)))创建对包含 10 个数字的范围的引用
  • =ROUND((AVERAGE(OFFSET(...)-54)*0.8,0)是根据你原来的公式计算的

这是一个数组公式,因此插入后需要按Ctrl++ShiftEnter

如果在引用的第一列之后和引用的最后一列之前插入/删除列,则公式将自动更新。

在此处输入图片描述

相关内容