我在查找一个公式时遇到麻烦,该公式可以找到连续的前4个数字均大于0的数字,如果小于4的数字大于0,则无法找到这些数字的平均值。 例如:
A B C D E F G H
1 2 0 0 4 0 0 0
我希望该公式能看到只有3个大于0的数字,并找到这3个数字的平均值,而不考虑任何0。
我以为=average(large(isnumber(A1:H1),{1,2,3,4})
可以工作,但是没有。任何帮助将不胜感激。
答案 0 :(得分:3)
使用此数组公式:
=AVERAGE(LARGE($A1:$H1,ROW($A$1:INDEX($A:$A,MIN(COUNTIF($A1:$H1,">0"),4)))))
ROW($A$1:INDEX($A:$A,MIN(COUNTIF($A1:$H1,">0"),4))
将创建一个大于1的数组,该数组的数量大于0
或4
中最小的那个。
作为数组公式,退出编辑模式时必须通过Ctrl-Shift-Enter而不是Enter进行确认。
答案 1 :(得分:0)
使用其他答案中的样本数据,将产生相同的结果。
=AVERAGEIFS(A1:H1, A1:H1, ">="&IFERROR(AGGREGATE(14, 7, A1:H1/(A1:H1>0), 4), AGGREGATE(15, 7, A1:H1/(A1:H1>0), 1)))