取最近20个条目中最小10个数的平均值

时间:2016-06-25 21:45:37

标签: google-sheets

我正在设置一个高尔夫指数计算器,我需要帮助记录平均值的最后20个条目。该公式假设采用过去20场比赛中最小的10个数的平均值。到目前为止我只有:

average(small(i2:i21, 10)) 

每次我输入新条目时,我都不想更改行号。

1 个答案:

答案 0 :(得分:0)

small函数返回范围中的一个元素 - 在您的情况下,是第10个最小元素,而不是10个最小元素。这在这里没有多大帮助。出于您的目的,sort(按递增或递减顺序排序)与array_constrain(仅保留给定数量的元素)的组合效果很好。

=average(array_constrain(sort(array_constrain(sort(filter({I2:I, row(I2:I)}, len(I2:I)), 2, false), 20, 1)), 10, 1))

或使用换行符

=average(
  array_constrain(
    sort(
      array_constrain(
        sort(
          filter({I2:I, row(I2:I)}, len(I2:I)),
        2, false), 
      20, 1)
    ),
  10, 1)
)

数组{I2:I, row(I2:I)}在第二列中包含行号。在I列中只保留非空条目,我们按行编号按降序排序。然后只保留I列中的前20个条目。再次排序(默认情况下:增加),并保留10个条目。最后,取平均值。

相关问题