0

假设我有 10 个单元格的范围,从 A1 到 J1,其中将包含数字,并且我想获得最大 3 的平均值。我可以这样做:

=AVERAGE(LARGE(A1:J1,{1,2,3}))

唯一的问题是如果值小于 3。在这种情况下,我得到一个数字错误。

我想处理这个问题,以便如果我的范围内的非空白单元格少于 3 个(可以用 进行检查ISBLANK),例如只有 2 个,它应该只平均这 2 个或多个。

可以轻松做到这一点吗?

4

2 回答 2

0

试试这个 - 它很简单,但很有效

=IF(COUNT(A1:J1) >= 3,AVERAGE(LARGE(A1:J1,{1,2,3})),  
                      IF(COUNT(A1:J1)>=2,AVERAGE(LARGE(A1:J1,{1,2})),  
                                         IF(COUNT(A1:J1) = 1, MAX(A1:J1),"Too few numbers")))
于 2013-01-07T19:12:36.933 回答
0

你可以像这样使用 IFERROR

=IFERROR(AVERAGE(LARGE(A1:J1,{1,2,3})),AVERAGE(A1:J1))

如果少于 3 个,这将平均所有值(1 或 2)

如果您想满足 A1:J1 完全无人居住的情况,您可以添加另一个 IFERROR,即

=IFERROR(IFERROR(AVERAGE(LARGE(A1:J1,{1,2,3})),AVERAGE(A1:J1)),0)

这将返回零(而不是#DIV/0!)

于 2013-01-07T14:43:23.553 回答