取Excel中最低百分比的平均值

时间:2013-08-13 15:41:35

标签: excel

我在excel中有一列数据,我需要取最低10%的平均值。我的数据是:

    1
    2 
    3
    4
    5
    6
    7
    8
    9 
    10

所以底部30%的平均值是 - (1 + 2 + 3)/ 3 = 2.有没有办法在excel中自动执行此操作,我所要做的就是给它我想要的百分比和它给了我答案?

3 个答案:

答案 0 :(得分:3)

更简单的版本:无需阵列公式或间接

假设列A中的数据,以及单元格B1中所需的百分比(作为小数)

=AVERAGEIF(A:A,"<="&SMALL(A:A,COUNT(A:A)*B1))

答案 1 :(得分:2)

当你说“我需要做的就是给出我想要的百分比并且给我答案”时,我并不完全确定你在寻找什么,但你可以试试AVERAGEIF

=AVERAGEIF(A1:A10,"<="&COUNTA(A1:A10)*0.3)

假设数据在A1:A10范围内。您可以获得0.3的百分比参考。

=AVERAGEIF(A1:A10,"<="&COUNTA(A1:A10)*B1)

如果您将百分比放在B1中,则公式会相应更改。

答案 2 :(得分:2)

假设您的数据位于A1:A10,并且您所需的百分比位于B1:

=AVERAGE(SMALL(A1:A10,ROW(INDIRECT("1:"&(B1*COUNT(A1:A10))))))

注意!这是一个数组公式!这意味着您必须进入顶部的公式栏(不在单元格中),并在完成后按 ctrl shift enter

这会将公式包装在这些{}中,所以你知道你做得对。输入它们不起作用,你必须按ctrl + alt + enter!

它是如何运作的?

ROW(INDIRECT("1:"&(B1*COUNT(A1:A10))))

Count会检查列表中有多少项,因此它知道需要平均的数量。假设B1是40%。

10项中有40%是4项,但20项中有40%是8项。

由于长达10个条目,我们将创建一个“数组”,一系列数字从1到4(40%)。

*SMALL(A1:A10*

SMALL找到范围内的* n *最小数字。使用我们的1到4数组,它将找到最低的4个条目。

AVERAGE(

然后我们平均结果:)