Excel。平均値だけでなく上位3位までの平均値を算出するにはどうしたらいいの。
<AVERAGEIF+LARGE関数>
上位グループと下位グループに分かれているようなデータの場合、単純な平均値だけではなく、上位グループの平均値も合わせて算出したい場合があります。
そこで、今回は、上位3位までの平均値を算出する方法をご紹介します。
次のデータを用意しました。
A1:C10にデータがあります。
C2:C10に数値のデータがあります。この平均値を算出したのが、F1です。
F1の数式は、
=AVERAGE(C2:C10)
AVERAGE関数では、全体の平均値を算出することはできても、条件をつけた平均値を算出することができません。
そこで、上位3位という条件を含めることができる。
つまり単一条件の平均値を算出することができる、AVERAGEIF関数を使う必要があります。
F3に上位3位までの平均値を算出していきますので、次の数式を設定しました。
=AVERAGEIF(C2:C10,">="&LARGE(C2:C10,3))
これで、上位3位までの平均値を算出することができました。
AVERAGEIF関数の引数の説明をします。
最初の引数は、「範囲」です。
この範囲とは、2つ目の引数の条件が含まれている範囲のことです。
よって、C2:C10と設定します。
2つ目の引数の条件には、上位3位と意味する数式を設定する必要があります。
「上位」という順位に該当する値を算出(抽出)する場合には、LARGE関数を使います。
ただし、3位の値ではなく、1~3位までの数値である必要がありますので、比較演算子をつかいます。
そこで、
「”>=”」と比較演算子とLARGE関数を「&(アンパサンド)」で結合します。
3つ目の引数の、平均対象範囲は、1つ目の引数の範囲と同じなので、省略できますので、省略しました。
これで、上位3位までの平均値を算出することができます。
なお、ステップを踏んで算出すると次のようになります。
D列には、LARGE関数をつかって、3位の数値。246を表示してあります。
D2の数式は、
=LARGE($C$2:$C$10,3)
D10までオートフィルで数式をコピーします。
E2には、
=IF(C2>=D2,C2,"")
という数式をコピーします。
これで、上位3位までの数値だけにすることができます。この3件の平均値を算出するというわけです。
E11に設定した数式は
=AVERAGEIF(E2:E10,">0")
E11の結果と先程紹介した
=AVERAGEIF(C2:C10,">="&LARGE(C2:C10,3))
と同じになっていることが確認できます。