Excel関数 逆引き集 | 平均を求めたい → AVERAGE

Excel
スポンサーリンク

概要

AVERAGEは「指定した範囲や数値の平均(算術平均)」を求めるExcelの基本関数です。空白は無視、0は平均に含まれる、文字列は無視、エラーは混ざると計算不能になるなどのルールを押さえると失敗が減ります。条件付き平均や見えている行だけの平均は別関数(AVERAGEIF/AVERAGEIFS、SUBTOTAL)を使います。


基本の使い方

  • 書式:
=AVERAGE(数値1, [数値2], …)

セル範囲、離れたセル、直接数値を混ぜて指定できます。

  • 単一範囲の平均:
=AVERAGE(A1:A10)

A1〜A10の数値の平均を計算します(空白や文字列は除外、0は含まれる)。

  • 複数範囲・離れたセルの平均:
=AVERAGE(A1:A10, C1:C5, F3)

連続・非連続をまとめて平均できます。

  • 手早く挿入(オート計算): Alt+= でSUMが挿入されるので、関数名をAVERAGEに打ち替えると素早く設定できます。

具体例

例1: テスト点数の平均

A2:A11に点数が入っているとします。

  • 目的: A2〜A11の平均をA12に表示
=AVERAGE(A2:A11)
  • ポイント:
    • 空欄: 空白セルは平均の分母に含まれません。
    • 0: 0は「成績0点」として平均に含まれる点に注意。

例2: 行方向の平均(横平均)

B2:E2に「1月〜4月の売上」が並ぶとします。

  • 目的: 行の平均をF2に表示
=AVERAGE(B2:E2)
  • ポイント:
    • コピー: F2の式を下へコピーして各行の平均を出せます。

例3: 離れたセルだけの平均

B2, B5, B9の平均。

  • 目的: 離れたセルを指定
=AVERAGE(B2, B5, B9)
  • ポイント:
    • カンマ: 個別セルはカンマ区切りで並べます。

例4: テーブル(構造化参照)の平均

テーブル「売上」に列「金額」がある場合。

  • 目的: テーブル列の平均
=AVERAGE(売上[金額])
  • ポイント:
    • 自動拡張: 行追加に追従するので管理が楽です。

よくあるつまずき

  • 文字列が混在して平均が狂う/除外される:
    「123」でも文字列扱いだと分母から外れます。
    • 対策:
      • データの統一: 全角/半角、カンマ、先頭のアポストロフィを除去。
      • 数値化: 必要なら VALUEで数値化し別列を平均。
=AVERAGE(VALUE(A2), VALUE(A3))
  • エラー値が混ざって計算できない:
    #DIV/0! などが含まれるとAVERAGEはエラーになります。
    • 対策: エラーをIFERRORで0や空白に置き換えてから平均。
=AVERAGE(IFERROR(A2:A100, ""))

入力後、配列動作が不要な環境では範囲の前処理を列で行うのが確実。

  • フィルタ後、非表示も平均に含まれる:
    AVERAGEは非表示行も計算します。
    • 対策: 表示中だけ平均したいならSUBTOTAL(平均は101)。
=SUBTOTAL(101, A2:A100)
  • 0を除外したい/条件付き平均が必要:
    AVERAGEは条件を持ちません。
    • 対策: AVERAGEIF/AVERAGEIFSを使う。
=AVERAGEIF(A2:A100, ">0")                   // 0より大きいAの平均
=AVERAGEIFS(B2:B100, A2:A100, "東京")       // 地域が東京のB平均
  • 文字列も含めて平均したい:
    数値に変換せず文字列の「数値表現」も数えるならAVERAGEA。
=AVERAGEA(A2:A100)

ただしTRUE=1、FALSE=0、文字列は0として扱われるので注意。


応用テンプレート

  • 重み付き平均(加重平均):
    値がC2:C100、重みがD2:D100
=SUMPRODUCT(C2:C100, D2:D100) / SUM(D2:D100)

重みの合計が0でないことを確認してください。

  • 月別シートをまたぐ平均:
=AVERAGE(Jan!B2:B100, Feb!B2:B100, Mar!B2:B100)
  • 期間の欠損を無視(空白のみ無視):
    空白を除外した平均(標準のAVERAGEでOK)
=AVERAGE(B2:B100)
  • 閾値以上の平均(条件付き):
    100以上の値だけ平均
=AVERAGEIF(B2:B100, ">=100")
  • テーブルで「月=12月」の金額平均:
    テーブル名: 売上、列: 月, 金額
=AVERAGEIFS(売上[金額], 売上[月], "12月")

練習問題

  • 問題1: A2:A12にテスト点が入っています。平均をA13に表示してください。
    • 解答例:
=AVERAGE(A2:A12)
  • 問題2: B2:E10に各月の売上があり、各行の平均をF列に表示してください(F2に式を入れてF10までコピー)。
    • 解答例:
=AVERAGE(B2:E2)
  • 問題3: フィルタで表示中の行だけ平均したいとき、A2:A200の平均をG2に表示してください。
    • 解答例:
=SUBTOTAL(101, A2:A200)
  • 問題4: C列に値、D列に重みがあり、重み付き平均をH2に表示してください。
    • 解答例:
=SUMPRODUCT(C2:C100, D2:D100) / SUM(D2:D100)

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