下位 10% の平均を取る必要がある Excel のデータ列があります。私のデータは次のとおりです。
1
2
3
4
5
6
7
8
9
10
したがって、下位 30% の平均は - (1+2+3)/3 = 2 になります。Excel でこれを自動化する方法はありますか?答え?
下位 10% の平均を取る必要がある Excel のデータ列があります。私のデータは次のとおりです。
1
2
3
4
5
6
7
8
9
10
したがって、下位 30% の平均は - (1+2+3)/3 = 2 になります。Excel でこれを自動化する方法はありますか?答え?
より単純なバージョン: 配列数式または間接は必要ありません
A
列にデータがあり、セルに必要なパーセンテージB1
(10 進数として) があると仮定します。
=AVERAGEIF(A:A,"<="&SMALL(A:A,COUNT(A:A)*B1))
データが 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(
次に、結果を平均します:)