【エクセル】上位n個の合計値を1セルで計算する方法!

エクセル
この記事は約2分で読めます。
スポンサーリンク
スポンサーリンク

上位n個の合計値を計算する方法!

二八の法則といわれるように、
物事は、

上位2割のものの合計が8割を占める

という現象がよく起こります。
そこで、上位n個の合計値を確認し割合を確認することで
データの目の付け所を知ることができます。

そこで今回亜H、上位n個を関数で計算する方法を紹介したいとも思います。

数式紹介

今回紹介する数式は、
・SUMPRODUT
・ROWS
・INDIRECT
を用いて、

=SUMPRODUCT(LARGE(データ範囲,ROW(INDIRECT("1:n"))))

実際の使用例
=SUMPRODUCT(LARGE($C$3:$C$10,ROW(INDIRECT("1:3"))))

と記述します。

計算結果は下記の通り、
・上位1位までの合計が、10
・上位2位までの合計が、18=10+8
・上位3位までの合計が、24=10+8+6
と、狙った通り計算できていることが分かります。

数式の説明

今回の肝となっている関数はLARGE関数です。

LARGE関数は

= LARGE(data ,n ) // n番目に大きい

のように、使用し、n番目に大きい数字を検索することができます。

今回はそれにSUMPRODUCT関数を組み合わせて上位n点の合計を表現しています。

この数式にたどり着くイメージは、

①簡単に記述すると、
= LARGE(data ,1) +LARGE(data ,2) +LARGE(data ,3) +・・・+LARGE(data ,n)

②上記の式をSUMPRODUCTで表現すると下記のように書くことができる。
=SUMPRODUCT(LARGE(data,{1,2,3,…n})

③配列のn数が多くなると記述できなくなるので、ROWを用いて表現。
=SUMPRODUCT(LARGE(data,ROW(INDIRECT("1:N")))

という流れになるかと思います。

ROW(INDIRECT("1:N")が理解しにくいかと思いますが、
実際セルに入力すると、下記のように1~10までの配列が作成されることが分かると思います。

コメント欄

タイトルとURLをコピーしました