创buildExcel函数:dynamic范围的平均值

我在一列中列出了4000个不同的价格值。 我想计算列中第一个X值的平均值,并将结果显示在单元格“B21”中。 X的值可以改变,位于单元格“B20”中。 我将如何使用Excelfunction来做到这一点? 也许平均和抵消?

这将做到这一点:

=AVERAGE(A1:INDEX(A:A,B20)) 

请注意,B20中的0或空白将平均整列。 你可以用IF语句过滤掉:

 =IF(B20=0,"NA",AVERAGE(A1:INDEX(A:A,B20))) 

正如Barry在评论中提到的那样,我select了INDEX因为它不像OFFSETINDIRECT那样易变。

怎么样:

=平均值(间接(“A1:A”和B20))

我会用戒指把我的帽子戴在戒指上。

 =average(offset(A1,0,0,B20)) 

正如Doug的评论,这也会在B20中给出空白或0的错误。

戈登