Sorting 使用太少的值获取前n个值
假设我有10个单元格,A1到J1,其中包含数字,我想得到最大的3个单元格的平均值。我可以这样做:Sorting 使用太少的值获取前n个值,sorting,error-handling,excel-2010,Sorting,Error Handling,Excel 2010,假设我有10个单元格,A1到J1,其中包含数字,我想得到最大的3个单元格的平均值。我可以这样做: =AVERAGE(LARGE(A1:J1,{1,2,3})) 唯一的问题是如果值小于3。在这种情况下,我得到一个数字错误 我希望处理这个问题,以便如果我的范围内的非空白单元格少于3个(可以使用ISBLANK进行检查),例如只有2个,那么它应该只对这2个或多个单元格进行平均 这样做容易吗?您可以像这样使用iError =IFERROR(平均值(大(A1:J1,{1,2,3})),平均值(A1:J1)
=AVERAGE(LARGE(A1:J1,{1,2,3}))
唯一的问题是如果值小于3。在这种情况下,我得到一个数字错误
我希望处理这个问题,以便如果我的范围内的非空白单元格少于3个(可以使用ISBLANK
进行检查),例如只有2个,那么它应该只对这2个或多个单元格进行平均
这样做容易吗?您可以像这样使用iError
=IFERROR(平均值(大(A1:J1,{1,2,3})),平均值(A1:J1))
如果少于3,则将平均所有值(1或2)
如果您希望满足A1:J1完全不受欢迎的情况,即:
=IFERROR(IFERROR(AVERAGE)(大的(A1:J1,{1,2,3})),AVERAGE(A1:J1)),0)
这将返回零(而不是#DIV/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")))