我正在设置一个高尔夫指数计算器,我需要帮助记录平均值的最后20个条目。该公式假设采用过去20场比赛中最小的10个数的平均值。到目前为止我只有:
average(small(i2:i21, 10))
每次我输入新条目时,我都不想更改行号。
答案 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个条目。最后,取平均值。