1/30/2024

Excel。平均値だけでなく上位3位までの平均値を算出するにはどうしたらいいの。【TOP3】

Excel。平均値だけでなく上位3位までの平均値を算出するにはどうしたらいいの。

<AVERAGEIF+LARGE関数>

上位グループと下位グループに分かれているようなデータの場合、単純な平均値だけではなく、上位グループの平均値も合わせて算出したい場合があります。


そこで、今回は、上位3位までの平均値を算出する方法をご紹介します。

次のデータを用意しました。

AVERAGEIF+LARGE関数

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))

と同じになっていることが確認できます。