Excel関数 逆引き集 | 加重平均 → SUMPRODUCT

Excel
スポンサーリンク

概要

「加重平均」は、データごとに“重さ(重要度・個数・人数…)が違う”ときの平均です。
Excel には専用関数はありませんが、SUMPRODUCT(積の合計) ÷ SUM(重みの合計)で、きれいに計算できます。


加重平均の考え方

普通の平均と何が違うか

普通の平均(算術平均)は、

平均=値の合計件数

です。
一方、加重平均は、

加重平均=(×重み)(重み)

という形になります。

ここでいう「重み」は、例えば次のようなものです。

  • テスト:点数 × 配点(重要度)
  • 売上:単価 × 数量
  • 満足度アンケート:点数 × 回答人数

「総額 ÷ 総量」=加重平均と考えると、とてもイメージしやすくなります。


SUMPRODUCT の基本イメージ

SUMPRODUCT は「掛け算してから合計」

書式はこうです。

=SUMPRODUCT(配列1, 配列2, …)

代表的な使い方は「単価 × 数量の合計」です。

=SUMPRODUCT(単価の範囲, 数量の範囲)

これは、
各行で「単価 × 数量」を計算 → それらを全部足した結果
を 1 本の数式でやってくれます。

加重平均では、

  • 値の列(点数・単価 など)
  • 重みの列(配点・数量 など)

を掛け算して合計する部分を SUMPRODUCT に任せます。


加重平均の基本パターン(SUMPRODUCT ÷ SUM)

一番基本の形

「点数」と「重み」が 1 行ずつ並んでいる表を考えます。

  • B 列:点数(値)
  • C 列:重み(配点・重要度など)

このときの加重平均の公式は、次の 1 行で表せます。

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

意味を分解すると:

  • SUMPRODUCT(B2:B6, C2:C6)
    → 各行の「点数 × 重み」の合計(=総得点)
  • SUM(C2:C6)
    → 重みの合計(=配点の合計など)
  • その割り算
    → 加重平均(重み付きの平均)

となります。


具体例1:テストの加重平均点

ケース設定

B 列に点数、C 列に配点(重み)が入っているとします。

B列:点数C列:配点
2802
3701
4903
5601
61003

これを「配点込みの平均点」で評価したいときの式は次の通りです。

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

この式でやっていることは、

  • 各行:点数 × 配点 → 80×2, 70×1, 90×3, 60×1, 100×3
  • それらを全部足す(総得点)
  • 配点の合計で割る

という流れです。


具体例2:売上の加重平均単価

「売上総額 ÷ 個数」は実は加重平均

売上の世界では、

[ \text{平均単価} = \frac{\text{売上総額}}{\text{販売数量合計}} ]

は、まさに「単価(値)×数量(重み)」の加重平均です。

  • C 列:単価
  • D 列:数量

とすると、加重平均単価はこう書けます。

=SUMPRODUCT(C2:C10, D2:D10) / SUM(D2:D10)
  • SUMPRODUCT(C2:C10, D2:D10) → 単価×数量の合計(売上総額)
  • SUM(D2:D10) → 数量の合計
  • 割り算 → 加重平均単価

という構造です。


コード例・テンプレート集

点数 × 重み(配点)での加重平均

=SUMPRODUCT(点数の範囲, 重みの範囲) / SUM(重みの範囲)

例:

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

単価 × 数量での加重平均単価

=SUMPRODUCT(単価の範囲, 数量の範囲) / SUM(数量の範囲)

例:

=SUMPRODUCT(C2:C10, D2:D10) / SUM(D2:D10)

アンケートの満足度(点数 × 回答人数)

  • B 列:満足度スコア(1〜5 など)
  • C 列:そのスコアをつけた人数
=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

注意点

範囲の長さは必ずそろえる

SUMPRODUCT(B2:B6, C2:C7) のように「配列の長さ」がズレていると誤計算やエラーの原因になります。
必ず「値の範囲」と「重みの範囲」は同じ行数・同じ位置でそろえてください。

重みの合計が 0 は NG

/ SUM(重みの範囲) の部分で、分母が 0 になると #DIV/0! エラーになります。
重みがすべて 0 になっていないか、事前に確認しておきましょう。


例題

問題1

B2:B6 にテストの点数、C2:C6 にその問題の配点(重み)が入っています。
この点数と配点から「加重平均点」を求める式を、SUMPRODUCT と SUM を使って書いてください。

(ヒント:点数×配点の合計 ÷ 配点の合計)

問題2

C2:C10 に商品ごとの単価、D2:D10 に販売数量が入っています。
「販売数量で重み付けされた平均単価(加重平均単価)」を求める式を書いてください。

問題3

B2:B5 に満足度スコア(1〜5)、C2:C5 にそれぞれのスコアをつけた人数が入っています。
このアンケートの「平均満足度(加重平均)」を求める式を書いてください。

問題4

次の式は、何をしているかを初心者向けに説明してください。

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

「B 列には何が入っていて、C 列には何が入っていて、それをどう組み合わせて平均を出しているのか」を、
自分の言葉で説明してみてください。

問題5

次のような式を作ったところ、#DIV/0! エラーになりました。

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

考えられる原因を 1 つ挙げてください。
(ヒント:分母の SUM(C2:C6) がどうなっているかを考えます)

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました