我有一列列出了一串數字。我怎樣才能在一列中選擇的值的前30%的平均:獲得一列中前30%值的平均值
'Values'
10
9
8
7
6
5
4
3
2
1
這樣,頂部30%是'10,9,8' 和所述平均值(10 + 9 + 8)/ 3 = 9
我有一列列出了一串數字。我怎樣才能在一列中選擇的值的前30%的平均:獲得一列中前30%值的平均值
'Values'
10
9
8
7
6
5
4
3
2
1
這樣,頂部30%是'10,9,8' 和所述平均值(10 + 9 + 8)/ 3 = 9
在Excel的任何版本,你可以使用一個沿着相同的線作爲Sean的建議SUMIF/COUNTIF,即
=SUMIF(A1:A10,">"&PERCENTILE(A1:A10,0.7))/COUNTIF(A1:A10,">"&PERCENTILE(A1:A10,0.7))
或更短的 「數組公式」
=AVERAGE(IF(A1:A10>PERCENTILE(A1:A10,0.7),A1:A10))
證實CTRL + SHIFT + Enter
這些都應該給予相同的結果
在不使用VBA:
將數據放入塔A.
創建該中間柱B:
B1=IF(RANK(A1,$A$1:$A$10)<=30*COUNT($A$1:$A$10)/(100), A1,0)
B2=IF(RANK(A2, ...
然後平均此列有:
=AVERAGEIF(B1:B10,">0")
爲您給出的例子,你得到9
如果您使用的是Excel 2007或更高版本,=AVERAGEIF(A2:A10,">"&PERCENTILE(A2:A10,0.7))
您還可以通過包括列標題,並選擇這樣做沒有公式:
數據>過濾器>數字過濾器> Top 10 ...(前30%)
突出顯示列以查看總和,平均值,計數,最大值。如果你想在單元格中的濾波平均值的結果,你可以使用(右鍵單擊狀態欄,如果沒有顯示選擇「一般」。)
=SUBTOTAL(1,A2:A11)