下一个单元格等于值的平均前n个值
具有以下数据,我想计算列B中的前n个值或前n%值的平均值,其中列A = C1中的值。
我尝试了许多不同的公式,但我无法得到它的工作。
{=AVERAGEIFS(B1:B14,A1:A14,C1,B1:B14,(IF(B1:B14>PERCENTILE(B1:B14,0.7),B1:B14)))} {=AVERAGE(IF(A1:A14=C1,IF(B1:B14>PERCENTILE(B1:B14,0.7),B1:B14)))}
ABC 1 a 1 a 2 a 1 cs 3 cs 1 ffs 4 a 1 . 5 a 1 . 6 ffs 1 . 7 a 1 . 8 a 1 . 9 as 1 . 10 a 1 . 11 sfaq 1 . 12 a 1 . 13 aasf 1 . 14 a 1 . 15 a 1 . 16 a 1 . 17 qw 1 . . . . . . . . . . . . .
工作表的图像
我认为你的AVERAGE
版本是正确的,但是当你计算PERCENTILE
你还需要包含在这个计算中的column A
条件,例如这个数组公式
=AVERAGE(IF(A1:A14=C1,IF(B1:B14>PERCENTILE(IF(A1:A14=C1,B1:B14),0.7),B1:B14)))
用CTRL + SHIFT + ENTER确认
如果使用AGGREGATE
函数计算PERCENTILE
,则可以使用AVERAGEIFS
获得与常规(非数组)公式相同的结果,即像这样
=AVERAGEIFS(B1:B14,A1:A14,C1,B1:B14,">"&AGGREGATE(16,6,B1:B14/(A1:A14=C1),0.7))
我期望这两个公式给出相同的结果