2

たくさんの数字をリストする列があります。1 つの列の値の上位 30% の平均を選択するにはどうすればよいですか。

'Values'
10
9
8
7
6
5
4
3
2
1

したがって、上位 30% は '10, 9, 8' であり、平均は (10+9+8)/3 = 9 です。

4

4 に答える 4

6

エクセル2007以降をお使いの方は、=AVERAGEIF(A2:A10,">"&PERCENTILE(A2:A10,0.7))

于 2012-06-01T18:14:09.330 に答える
6

Excelのどのバージョンでも、ショーンの提案と同じ行に沿って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 で確定

これらはすべて同じ結果になるはずです

于 2012-06-01T18:42:54.273 に答える
1

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を取得します。

于 2012-06-01T15:39:48.820 に答える
-1

列のタイトルを含めて次を選択することにより、式を使用せずにこれを行うこともできます。

データ > フィルター > 数値フィルター > 上位 10... (上位 30 パーセント)

列を強調表示して、合計、平均、カウント、最大を表示します。(表示されていない場合は、ステータスバーを右クリックして「平均」を選択してください。)

セルでフィルター処理された平均の結果が必要な場合は、使用できます=SUBTOTAL(1,A2:A11)

于 2012-06-01T21:09:34.280 に答える