【问题标题】:Average top n values where next cell equals value下一个单元格等于值的平均前 n 个值
【发布时间】:2017-03-30 10:09:25
【问题描述】:

拥有以下数据,我想计算 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)))}

    A   B   C  
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   .  
.   .   .   .  
.   .   .   .  
.   .   .   .  

Image of worksheet

【问题讨论】:

    标签: excel excel-formula average


    【解决方案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))

    我希望这两个公式给出相同的结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2021-02-08
      相关资源
      最近更新 更多