假设我有 10 个单元格的范围,从 A1 到 J1,其中将包含数字,并且我想获得最大 3 的平均值。我可以这样做:
=AVERAGE(LARGE(A1:J1,{1,2,3}))
唯一的问题是如果值小于 3。在这种情况下,我得到一个数字错误。
我想处理这个问题,以便如果我的范围内的非空白单元格少于 3 个(可以用 进行检查ISBLANK
),例如只有 2 个,它应该只平均这 2 个或多个。
可以轻松做到这一点吗?
假设我有 10 个单元格的范围,从 A1 到 J1,其中将包含数字,并且我想获得最大 3 的平均值。我可以这样做:
=AVERAGE(LARGE(A1:J1,{1,2,3}))
唯一的问题是如果值小于 3。在这种情况下,我得到一个数字错误。
我想处理这个问题,以便如果我的范围内的非空白单元格少于 3 个(可以用 进行检查ISBLANK
),例如只有 2 个,它应该只平均这 2 个或多个。
可以轻松做到这一点吗?
试试这个 - 它很简单,但很有效
=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")))
你可以像这样使用 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!)