関数(Excel)

エクセルで「平均」を完全攻略するガイドブック

スポンサードリンク

データを集計する作業は、職種を問わず多くの業務で必要とされるものです。
中でもわりとよく使われるのが「平均値の計算」ではないでしょうか。

平均値は「合計 ÷ 件数」で求められますが、手作業や電卓では少し手間がかかります。
その点、Excelを使えばセル範囲を選ぶだけで自動的に計算してくれるので、とても便利です。

今回は、Excelで平均を計算する方法で、状況に合わせていくつかパターン分けしたものを解説します。

この記事を読むと、次のような効果が期待できます

  • 時間短縮につながる効率的な計算方法を習得できる
  • 平均に関する関数の理解が深まり、他の関数への応用もスムーズになる
  • より正確な平均値の算出方法を身につけられる
スポンサードリンク

本記事では、6種類の平均を計算する関数をメインに解説しますが、実務で必要となる「重み付け平均」についても少し触れていきます。
多少ややこしい計算方法ですが、莫大なデータを正しく評価するためにも、ぜひ身に付けておきたい知識です。

本記事を通して、Excelを使った平均の計算方法をひととおり習得しましょう。

平均計算の“基本のキ”

平均を求める――それ自体は「合計 ÷ 件数」というシンプルな計算ですが、Excel ではどのセルを“件数”に数えるかで結果が大きく変わります。
たとえば集計表に「」や「未入力」といった文字列が混ざっている場合、AVERAGE関数は文字列を無視して計算します。
逆に、空白も文字列も区別なく一律に数えたいときは AVERAGEAがおすすめです。

ここではまず「平均計算の本当に基本となる 2 関数」、すなわちAVERAGEAVERAGEAの違いを丁寧に整理します。

Excel 365 の動的配列機能を活かし、後続の条件付き平均重み付き平均へスムーズにつなげる準備にもなるので、まずはこの章で平均の基礎力をしっかり付けていきましょう。

AVERAGE関数 ― シンプルな平均の取り方

平均値を計算する関数の中で最も基礎となるAVERAGE関数は、オートSUMアイコンからも実行できます。

では、1年1組のテスト計算の結果が入力された一覧表を使い、平均を計算してみましょう。

平均値を計算したい

計算結果を表示したいセルを選択してオートSUMボタンの横にある『v』をクリックすると、合計・平均・個数などが表示されます。
ここでAVERAGE関数を設定する場合は「平均」を選びましょう。

平均をクリック

引数を選択してEnterキーを押すと、平均値が自動で計算されました。

AVERAGE関数で平均が計算された

AVERAGEA関数 ― 空白・文字列も含めて計算

ここでは、生徒の一人がテストを欠席した場合の平均の計算方法について見ていきます。
以下の3通りの方法で比較してみましょう。

  1. 「0」を入力して、AVERAGE関数で計算
  2. 「欠席」と入力して、AVERAGE関数で計算
  3. 「欠席」と入力して、AVERAGEA関数で計算
AVERAGE関数とAVERAGEA関数

まず、「0」を入力してAVERAGE関数を使うと、平均は「60.8」と表示されました。
この場合、0 も数値データとして計算に含まれています。

次に、「欠席」と入力してAVERAGE関数を使うと、平均は「66.9」となりました。
欠席の欄を空白にしても同じ結果です。
AVERAGE関数は、文字列や空白を計算対象に含めないためです。

一方、「欠席」と入力してAVERAGEA関数で計算すると、平均は「60.8」になりました。
これは、「欠席」という文字が数値「0」として扱われたためで、1つ目のケースと同じ結果です。

AVERAGEA関数の計算結果

このように、AVERAGE関数は文字列を無視しますが、AVERAGEA関数は文字列もデータとして処理します(文字列は「0」として扱われます)。

AVERAGE関数とAVVERAGEA関数の違い

ただし、数値を入力すべきセルに文字を入れるのは、表の設計上あまりおすすめできません。
それでも、AVERAGEA関数を使えば、こうした入力にも柔軟に対応できます。

スポンサードリンク

条件付きで平均値を計算する関数

条件を付けて平均を計算したい場面は、日常業務でむしろ “普通” です。

たとえば 「特定の店舗だけの月平均売上」や 「在庫が残っている商品のみの平均仕入単価」など、データ全体ではなく “絞り込んだ集合” の代表値 が欲しいケースは枚挙にいとまがありません。
そこで活躍するのが AVERAGEIF/AVERAGEIFS/SUBTOTAL/DAVERAGE の4つ。
どれも「条件付き平均」を計算できますが、得意分野と弱点が微妙に異なります。

それぞれ実務データを例に、数式の書き方と計算方法の違いを詳しく解説していきます。

AVERAGEIF関数 ― 単一条件で平均を求める

ある条件に当てはまる項目だけを集計出来るようにするのがAVERAGEIF関数です。
引数の使い方は以下のとおり。

  • 第一引数・・・検索範囲
  • 第二引数・・・条件指定
  • 第三引数・・・平均対象範囲

たとえば、下のような表に各教科の点数が入力されている場合、国語のみの平均点を求めてみましょう。

科目毎の平均値を計算したい

数式バーに次のように入力します。

=AVERAGEIF(D:D,G2,E:E)
AVERAGEIF関数の引数

これで、指定どおり国語の平均が計算できました。

AVERAGEIF関数の結果

他の教科についても、国語の数式をコピーしてセルを調整すれば、すぐに集計表が完了します。

コピペした結果

SUMIF関数と同様に、AVERAGEIF でも「>=80」のような不等号を使った条件指定や、「*」を使ったあいまい検索も可能です。
また、「80点以上の平均」や、「名前に『木』が含まれる生徒の平均」なども計算できます。

AVERAGEIFS関数 ― 複数条件を同時に指定

AVERAGEIFS関数 は、AVERAGEIF関数の上位互換です。
AVERAGEIFでは条件を1つしか指定できませんが、AVERAGEIFSなら複数の条件を設定できます。

引数の順序はAVERAGEIFと異なり、条件は第4引数以降に追加していきます。

  • 第一引数・・・平均対象範囲
  • 第二引数・・・検索条件1
  • 第三引数・・・検索範囲1

AVERAGEIF関数の紹介では「教科」を条件にしましたが、ここではさらに「学級」という条件を加えてみます。
たとえば、「1年1組の国語の平均点」を求めるといったケースです。

学級毎に各教科の平均を計算したい

数式は以下のようになります。

=AVERAGEIFS($E:$E, $A:$A, H$1, $D:$D, $G2)
AVERAGEIFSの引数

ここでは、「教科」と「学級」の2つの条件を指定しており、引数は5つになります。

この数式を作ることで、「1年1組の国語」という条件に合致するデータの平均値を正確に算出できました。

AVERAGEIFSの計算結果

残りの範囲についても、コピーオートフィルで手早く反映できます。

AVERAGEIFSをコピペした

ただし、数式を他のセルに展開する場合は、絶対参照を適切に使うことが重要です。

絶対参照についてはこちらの記事で詳しく解説しています。

SUBTOTAL関数 ― オートフィルタと相性抜群の平均計算

フィルタ機能でよく使われるSUBTOTAL関数の第一引数に「1」を設定することでも、平均値の計算は可能です。

SUBTOTALで平均を計算

SUBTOTAL関数は、こちらの記事でも詳しく紹介していますので、よかったらご覧ください。

DAVERAGE関数 ― データベース関数で柔軟に集計

DAVERAGE関数は、データベース形式の表に対して「条件表」と呼ばれるセル範囲を別途用意し、その条件を満たすレコードだけの平均を求める関数です。
引数の設定は以下のとおり。

=DAVERAGE(データベース, フィールド, 条件表) 

初めて使う方は条件設定に少し戸惑うかもしれませんが、第3引数の条件表だけで複数条件をまとめて指定できる点がDAVERAGE関数の強みはです。

一方のAVERAGEIFS関数は、条件を増やすごとに引数も増えていくという弱点を抱えています。
その意味では、条件が多いケースではDAVERAGE関数の方が扱いやすい場面もあるでしょう。

データベース関数については、こちらにも記事を掲載しておりますので、よかったらご覧ください。

重み付き平均で “正しい” 指標を出す

単純平均は、すべてのデータを同じ重みで扱って算出されます。
しかし、実務ではデータごとに重要度(重み)が異なる場面が多く、単純平均では実態を正確に捉えられないことがあります。

  • 売上単価 × 販売数量
  • 従業員ごとの残業時間 × 時給
  • 投資ポートフォリオのリターン × 資産配分比率

このように、「値 × 重み」の積を合計し、それを重みの合計で割ることで求められるのが重み付き平均です。
Excelには専用関数はありませんが、SUMPRODUCTSUMを組み合わせることで簡単に計算できます。

重み付き平均の詳しい使い方については、別記事で解説する予定です。

平均計算で陥りやすい落とし穴

平均の計算方法を正しく理解しておかないと、間違った結果を導くことがあります。

ここに、各クラスの生徒の身長データとクラス毎の平均値が表示されています。

生徒の身長とクラス毎の平均値一覧

ここで、全ての生徒の平均値を計算してみます。

F17セル(上)とF18セル(下)の計算方法の違いは以下のとおりです。

  • F17セル → 各個人データ(B3:E17)を範囲設定
  • F18セル → クラスの平均値(B18:E18)を範囲設定
1クラスの人数が同じ場合

この場合は、上と下が同じ結果になりました。

同じ計算結果になっている

次は、1クラスの生徒数が異なる場合です。

1クラスの人数が異なる場合

同じように計算したところ、上と下の結果に誤差が発生しました。

計算結果が異なる

このように、平均値をサンプル全体から計算する場合と、各グループの平均値から計算する場合とでは、結果が異なる場合があるので特に注意しましょう。

まとめ

今回は、Excelで平均を計算する方法を詳しく解説しました。

平均を計算する基礎的な関数として、AVERAGEAVERAGEAがあります。
使い分けの一番のポイントは、空白や文字列データの扱いを意識するだけで、ほとんどの集計ミスは防げます。

さらに、AVERAGEIFAVERAGEIFSなど、条件を指定する関数も実務でよく使うので、覚えておきましょう。
また、ビジネスでより深く分析したい方は、重み付け平均も覚えておくことをおすすめします。

平均を計算する方法は単純かと思ってしまいますが、意外と奥が深いので、しっかりとクセをつかんで、適所で使えるようになりましょう。
関数ごとの強みと弱みを把握し、ケースバイケースで最適な手法を選べば、Excelレポートの精度と説得力は一段と高まります

スポンサードリンク

スポンサードリンク

-関数(Excel)