エクセルで、加重平均を求めるには、SUMPRODUCT関数で「値×重み」の合計を出して、SUM関数で「重みの合計」で割ります。式は、=SUMPRODUCT(B3:B7,C3:C7)/SUM(C3:C7) です。科目ごとの単位数が違うときの平均点や、数量が違う商品の平均単価に、使えます。
この記事では、加重平均の考え方、SUMPRODUCT関数での求め方、単純平均との違い、平均単価の計算、重みを割合で表す方法を、1つの表を使って説明します。下の練習ツールで、点数や単位数を書き換えて、結果の変わり方を試せます。
加重平均の計算|やりたいこと別の式
| やりたいこと | 式(例) | ポイント |
|---|---|---|
| 加重平均を、求める | =SUMPRODUCT(B3:B7,C3:C7)/SUM(C3:C7) | 「値×重み」の合計を、重みの合計で割ります。 |
| 単純平均を、求める(比べる) | =AVERAGE(B3:B7) | 重みを考えない、ふつうの平均です。 |
| 小数第1位に、丸める | =ROUND(SUMPRODUCT(B3:B7,C3:C7)/SUM(C3:C7),1) | ROUND関数で、桁数を整えます。 |
| 「値×重み」の列を、作って求める | =SUM(D3:D7)/SUM(C3:C7) | 列を、見せたいときに向いています。 |
| 重みの割合を、求める | =ROUND(C3/SUM($C$3:$C$7)*100,1) | 重みの合計を、固定します。 |
| 平均単価を、求める | =SUMPRODUCT(単価,数量)/SUM(数量) | 数量が重みになります。 |
| 条件付きの加重平均を、求める | =SUMPRODUCT((条件範囲=条件)*値*重み)/SUMIFS(重み,条件範囲,条件) | 条件に合うものだけを、計算します。 |
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
加重平均の考え方(単純平均との違い)
単純平均は、すべての値を、同じ重さで、平均します。加重平均は、値ごとに、重さ(重み)を付けて、平均します。たとえば、単位数が4の数学と、単位数が2の英語は、同じ重さで、平均してはいけません。
練習表の点数を、単純に平均すると 77 点ですが、単位数を重みにすると、加重平均は、約 77.9 点になります。単位数の大きい数学(90点)が、平均を押し上げています。
SUMPRODUCT関数で、加重平均を求める
SUMPRODUCT関数は、2つの範囲の、対応する値どうしを掛けて、合計します。つまり、「点数×単位数」の合計が、1つの式で、求まります。それを、単位数の合計で割ります。

点数×単位数の合計が1090、単位数の合計が14なので、加重平均は、1090÷14で、約 77.86 です。小数第1位に丸めるなら、ROUND関数を使って、77.9 です。SUMPRODUCT関数の、くわしい使い方は、SUMPRODUCT関数の使い方を参照してください。
▶ この式(I3)を、上の練習ツールで試す / この式(I4)を、上の練習ツールで試す / この式(I5)を、上の練習ツールで試す / この式(I6)を、上の練習ツールで試す
「値×重み」の列を作って、加重平均を求める
計算の過程を、見せたいときは、「点数×単位数」の列を、作ります。その列を、SUM関数で合計して、単位数の合計で、割ります。
結果は、SUMPRODUCT関数と同じです。D列の各セルは、=B3*C3 で、国語は 240、数学は 360 になります。
▶ この式(D3)を、上の練習ツールで試す / この式(D4)を、上の練習ツールで試す / この式(I7)を、上の練習ツールで試す
重みを割合(%)で表す
重みが、全体の何%を占めるかは、重みを合計で割って、求めます。合計の範囲は、絶対参照で、固定します。
国語の単位数3は、合計14の 21.4%です。重みの割合を、すべて足すと、100%になります。「$」の付け方は、絶対参照・相対参照とはを参照してください。
▶ この式(E3)を、上の練習ツールで試す / この式(E4)を、上の練習ツールで試す
平均単価を求める(数量が重み)
数量の違う商品の、平均単価は、単価に数量を掛けた金額の合計を、数量の合計で、割って求めます。単価の単純平均では、正しい値になりません。
金額の合計が、そのまま、売上の合計に一致するので、「数量が重みの、加重平均」です。割合の計算は、割合(構成比)を求める方法も参照してください。
加重平均がおかしいときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 単純平均と、同じ値になる | 重みが、すべて同じ | 重みの列を、確認する。 |
| 「#VALUE!」と表示される | 範囲の、行数が違う | 2つの範囲の、大きさをそろえる。 |
| 値が、大きすぎる | 重みの合計で、割っていない | 「/SUM(重みの範囲)」を付ける。 |
| 「#DIV/0!」と表示される | 重みの合計が、0 | 重みに、0以外の値を入れる。 |
| 文字の重みが、無視される | 数値ではなく、文字列になっている | 数値に直す。 |
| コピーすると、範囲がずれる | 範囲に、「$」を付けていない | 範囲を、絶対参照で固定する。 |
| 値を変えても、結果が変わらない | 計算方法が「手動」になっている | 「数式」タブの「計算方法の設定」を「自動」にする。 |
加重平均のよくある質問
加重平均を求める関数は?
専用の関数は、ありません。SUMPRODUCT関数で「値×重み」の合計を求めて、SUM関数で、重みの合計を求めて、割ります。
単純平均との違いは?
単純平均は、すべての値を、同じ重さで平均します。加重平均は、重みの大きい値が、平均に、強く影響します。
平均単価を、求めるには?
=SUMPRODUCT(単価,数量)/SUM(数量) です。単価の単純平均では、数量の違いが、反映されません。
あわせて読みたい:平均・SUMPRODUCTの関連記事
- SUMPRODUCT関数の使い方|掛け算の合計・条件付き
- エクセルで平均を出す方法|AVERAGE・条件付き
- Excelで平均を求める関数まとめ
- Excelで割合(構成比)を求める方法|全体に対する比率をSUMで計算
- エクセルで偏差値を求める方法|計算式・STANDARDIZE・標準偏差
練習用ファイル:練習用Excelファイル(.xlsx・無料)
