いきなり答える備忘録

G Suite・Microsoft 365・LibreOfficeなどに関するメモと日々の実験

(Gスプレッドシート)加重平均を求める関数(AVERAGE.WEIGHTED関数)

 Googleスプレッドシートには、簡単に加重平均を求められる専用の関数があります。

  • AVERAGE.WEIGHTED関数で値の配列とウェイトの配列を指定することにより、加重平均を求められます。ウェイトの総和を考慮しなくともよいのがメリットです。

手順

f:id:accs2014:20200225182701p:plain:right:w550

 C3:C7に5つの科目の得点が、D3:D7にそれぞれの科目のウェイトが記されています。
 各得点をウェイトの値で重みづけした加重平均を求めるものとします。

 C9セルに次のように入力します。

=AVERAGE.WEIGHTED(C3:C7,D3:D7)

 AVERAGE.WEIGHTED関数は第1引数として値の配列を、第2引数としてウェイトの配列を指定することで加重平均を求めることができます。
 後述するように値を1つ1つ指定することも可能です。

f:id:accs2014:20200225182704p:plain:right:w550

 確定した結果です。
 83.8という結果が得られました。

f:id:accs2014:20200225182708p:plain:right:w550

 さて、上記の数値例だとSUMPRODUCT関数でも同じ結果になりますが、AVERAGE.WEIGHTEDはウェイトの相対比さえ同じあれば同じ結果が得られるのがメリットです。
 画像はウェイトをそれぞれ上記の20倍にした結果ですが、上記と同じ結果が得られています。SUMPRODUCT関数ではこうならず、ウェイトの総和を1に調整する必要があります。ただし、値の配列とウェイトの配列を逆に指定すると誤った結果になる点はやはり注意が必要です。

 なお、AVERAGE.WEIGHTED関数では値とウェイトを1組ずつ指定することも可能です。例えば下記の式により画像と同じ結果が得られます。

=AVERAGE.WEIGHTED(82,6,75,2,81,4,91,6,82,2)