「テストの平均点を計算したい」
「売上データから特定の条件に合う平均値を出したい」
「複数の条件を満たすデータだけの平均を知りたい」
このような場面で役立つのが、Excelの平均値を計算する関数です。
基本的なAVERAGE関数から、条件付きで平均を求める高度な関数まで、用途に応じて使い分けることで、効率的なデータ分析が可能になります。
この記事では、Excelの平均値関数を初心者の方にもわかりやすく、実例を交えながら詳しく解説します。
平均値の基本概念とExcelでの活用
平均値とは
平均値(算術平均)は、すべての数値を足して、データの個数で割った値です。
平均値 = 合計 ÷ データの個数
例:(10 + 20 + 30) ÷ 3 = 20
Excelで平均値を使う場面
- 成績管理:クラスの平均点、個人の平均成績
- 売上分析:月別平均売上、商品別平均単価
- 品質管理:製品の平均重量、平均不良率
- 人事データ:部署別平均年齢、平均勤続年数
- アンケート分析:平均満足度、平均評価点
AVERAGE関数:基本の平均値計算
関数の構文と概要
=AVERAGE(数値1, [数値2], [数値3], ...)
AVERAGE関数は、指定した範囲やセルの数値の算術平均を計算します。
最も基本的で頻繁に使用される平均値関数です。
重要な特徴
- 空白セルは無視:計算に含まれません
- 文字列は無視:「ABC」などの文字は計算対象外
- 論理値は無視:TRUE/FALSEは計算に含まれません
- エラー値があると:結果もエラーになります
基本的な使用例
単純な数値範囲の平均
# セルA1からA5までの平均
=AVERAGE(A1:A5)
# 複数の範囲を同時に計算
=AVERAGE(A1:A5, C1:C5)
# 個別のセルを指定
=AVERAGE(A1, A3, A5, B2)
具体例:テストの平均点
A1: 85
A2: 92
A3: 78
A4: 88
A5: 97
=AVERAGE(A1:A5) → 結果: 88
実際のワークシートでの活用
# 学生の成績表の例
A B C D E
1 名前 数学 英語 理科 平均
2 田中 85 92 78 =AVERAGE(B2:D2)
3 佐藤 90 85 95 =AVERAGE(B3:D3)
4 鈴木 82 88 84 =AVERAGE(B4:D4)
5 平均 =AVERAGE(B2:B4) =AVERAGE(C2:C4) =AVERAGE(D2:D4)
エラー処理を含む応用例
# エラーがある場合の対処
=IFERROR(AVERAGE(A1:A10), "計算できません")
# 空白がある場合の確認
=IF(COUNTA(A1:A10)=0, "データなし", AVERAGE(A1:A10))
AVERAGEの便利な応用
動的な範囲指定
# OFFSET関数と組み合わせ
=AVERAGE(OFFSET(A1,0,0,10,1))
# INDIRECT関数と組み合わせ
=AVERAGE(INDIRECT("A1:A"&ROW()-1))
# INDEX関数を使った範囲
=AVERAGE(INDEX(A:A,2):INDEX(A:A,11))
AVERAGEIF関数:条件付き平均値

関数の構文と概要
=AVERAGEIF(範囲, 条件, [平均範囲])
AVERAGEIF関数は、指定した条件に一致するセルのみを対象に平均値を計算します。フィルタリングした結果の平均を求めたい場合に非常に便利です。
パラメータの詳細
- 範囲:条件を判定する範囲
- 条件:判定条件(数値、文字列、比較演算子)
- 平均範囲:平均を計算する範囲(省略時は「範囲」と同じ)
条件の指定方法
| 条件タイプ | 書き方 | 例 |
|---|---|---|
| 数値比較 | ">50" | 50より大きい |
| 数値比較 | ">=80" | 80以上 |
| 数値比較 | "<>0" | 0以外 |
| 文字列一致 | "営業" | 完全一致 |
| 文字列一致 | "*販売*" | 部分一致 |
| セル参照 | ">"&D1 | D1の値より大きい |
実用的な使用例
基本的な条件指定
# 売上データから高額取引の平均
=AVERAGEIF(B1:B100, ">100000", B1:B100)
# 特定の部署の平均給与
=AVERAGEIF(A1:A50, "営業部", C1:C50)
# 特定の期間のデータ
=AVERAGEIF(A1:A365, ">=2024/1/1", B1:B365)
実際のビジネスシーンでの活用
# 顧客満足度調査の例
A B C
1 部門 評価点 コメント
2 営業 4.5 満足
3 技術 3.2 普通
4 営業 4.8 とても満足
5 管理 3.0 普通
6 営業 4.2 満足
# 営業部門の平均評価点
=AVERAGEIF(A2:A6, "営業", B2:B6) → 結果: 4.5
ワイルドカードを使った条件
# 商品名に「Pro」が含まれる商品の平均価格
=AVERAGEIF(A1:A100, "*Pro*", B1:B100)
# 「東京」で始まる店舗の平均売上
=AVERAGEIF(C1:C50, "東京*", D1:D50)
# 末尾が「店」で終わる店舗の平均
=AVERAGEIF(C1:C50, "*店", D1:D50)
セル参照を使った動的条件
# E1セルの値を条件として使用
=AVERAGEIF(A1:A100, E1, B1:B100)
# E1セルの値以上の条件
=AVERAGEIF(A1:A100, ">="&E1, B1:B100)
# 今日の日付以降のデータ
=AVERAGEIF(A1:A100, ">="&TODAY(), B1:B100)
AVERAGEIFS関数:複数条件の平均値
関数の構文と概要
=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)
AVERAGEIFS関数は、複数の条件をすべて満たすデータのみを対象に平均値を計算します。
より細かい分析や、複雑な条件でのフィルタリングが可能です。
注意点
- すべての条件がAND条件:すべての条件を満たす必要がある
- 条件範囲の大きさ:すべての範囲は同じサイズである必要がある
- 平均範囲が最初:AVERAGEIFとは引数の順序が異なる
実用的な使用例
2つの条件を使った分析
# 売上データの例
A B C D
1 店舗 地域 月 売上
2 A店 関東 1月 1500
3 B店 関西 1月 1200
4 C店 関東 2月 1800
5 D店 関東 1月 1600
# 関東地域の1月の平均売上
=AVERAGEIFS(D2:D5, B2:B5, "関東", C2:C5, "1月")
# 結果: (1500+1600)÷2 = 1550
3つ以上の条件を使った高度な分析
# 従業員データの例
A B C D E
1 名前 部署 年齢 性別 給与
2 田中 営業 28 男 400000
3 佐藤 技術 35 女 450000
4 鈴木 営業 32 男 420000
5 高橋 営業 29 女 380000
# 営業部門の30歳未満の男性の平均給与
=AVERAGEIFS(E2:E5, B2:B5, "営業", C2:C5, "<30", D2:D5, "男")
# 結果: 400000(田中のみが条件に該当)
日付範囲を使った分析
# 期間を指定した売上分析
=AVERAGEIFS(D2:D100, A2:A100, ">=2024/1/1", A2:A100, "<=2024/3/31", B2:B100, "関東")
# 2024年1-3月の関東地域の平均売上
数値範囲を使った分析
# 成績データの分析
=AVERAGEIFS(C2:C50, B2:B50, ">=80", B2:B50, "<90", A2:A50, "数学")
# 数学で80点以上90点未満の学生の平均点
エラー処理と対処法

よくあるエラーとその原因
| エラー | 原因 | 対処法 |
|---|---|---|
#DIV/0! | 条件に合うデータが0件 | 条件を見直すか、IFERROR関数で処理 |
#VALUE! | 範囲のサイズが不一致 | すべての範囲を同じサイズに調整 |
#NAME? | 関数名の入力ミス | 正しい関数名を確認 |
#REF! | 参照先セルが削除された | 正しいセル範囲を再指定 |
エラー処理の実例
# 基本的なエラー処理
=IFERROR(AVERAGEIF(A1:A10, "営業", B1:B10), "該当データなし")
# より詳細なエラー処理
=IF(COUNTIF(A1:A10, "営業")=0, "営業部のデータがありません", AVERAGEIF(A1:A10, "営業", B1:B10))
# 複数条件でのエラー処理
=IFERROR(AVERAGEIFS(C1:C10, A1:A10, "営業", B1:B10, ">50"), "条件に合うデータがありません")
実用的な活用事例
成績管理システム
# 学校の成績管理での活用例
# 全体の平均点
=AVERAGE(点数範囲)
# 合格者(60点以上)の平均点
=AVERAGEIF(点数範囲, ">=60")
# 特定のクラスの特定科目の平均
=AVERAGEIFS(点数範囲, クラス範囲, "A組", 科目範囲, "数学")
# 男女別の平均点
=AVERAGEIF(性別範囲, "男", 点数範囲)
=AVERAGEIF(性別範囲, "女", 点数範囲)
売上分析システム
# 売上データの多角的分析
# 月別平均売上
=AVERAGEIF(月範囲, "4月", 売上範囲)
# 地域別の高額商品の平均売上
=AVERAGEIFS(売上範囲, 地域範囲, "関東", 商品価格範囲, ">10000")
# 特定営業担当の特定期間の平均売上
=AVERAGEIFS(売上範囲, 担当者範囲, "田中", 日付範囲, ">=2024/1/1", 日付範囲, "<=2024/3/31")
品質管理システム
# 製造業での品質データ分析
# 不良率の平均(特定ラインのみ)
=AVERAGEIF(ライン範囲, "ライン1", 不良率範囲)
# 特定期間の特定製品の平均品質スコア
=AVERAGEIFS(品質スコア範囲, 製品範囲, "製品A", 日付範囲, ">=2024/1/1")
# 合格品のみの平均重量
=AVERAGEIF(判定範囲, "合格", 重量範囲)
高度な応用テクニック

配列数式との組み合わせ
# 複数の条件をOR条件で処理(配列数式)
=AVERAGE(IF((A1:A10="営業")+(A1:A10="販売"), B1:B10))
# Ctrl+Shift+Enterで入力
# 上位n%の平均値
=AVERAGE(LARGE(A1:A10, {1;2;3}))
# 上位3つの平均
他の関数との組み合わせ
# SUMPRODUCT関数を使った加重平均
=SUMPRODUCT(数量範囲, 単価範囲) / SUM(数量範囲)
# MEDIAN関数と比較した分析
=IF(AVERAGE(A1:A10)>MEDIAN(A1:A10), "平均>中央値", "平均≤中央値")
# STDEV関数と組み合わせた統計分析
=AVERAGE(A1:A10) & " ± " & STDEV(A1:A10)
動的な条件設定
# ドロップダウンリストと連動した平均計算
=AVERAGEIF(部署範囲, ドロップダウンセル, 給与範囲)
# スライダーと連動した期間指定
=AVERAGEIFS(売上範囲, 日付範囲, ">="&開始日セル, 日付範囲, "<="&終了日セル)
パフォーマンスと最適化
大量データでの注意点
# 効率的な範囲指定
=AVERAGEIF(A:A, "条件", B:B) # 列全体を指定(非推奨)
=AVERAGEIF(A1:A1000, "条件", B1:B1000) # 必要な範囲のみ(推奨)
# インデックス使用による高速化
=AVERAGEIF(INDEX(A:A,1):INDEX(A:A,1000), "条件", INDEX(B:B,1):INDEX(B:B,1000))
メモリ使用量の最適化
- 不要に大きな範囲を指定しない
- 計算が重い場合は手動計算モードを活用
- 複雑な条件は段階的に分けて計算
トラブルシューティング

計算結果が期待と異なる場合
# データ型の確認
=TYPE(A1) # 1:数値, 2:文字列, 4:論理値
# 空白セルの確認
=COUNTA(A1:A10) # 空白でないセルの数
=COUNT(A1:A10) # 数値セルの数
# 条件の確認
=COUNTIF(A1:A10, "営業") # 条件に合うセルの数
よくある問題と解決法
- 文字列として保存された数値
# VALUE関数で数値に変換 =AVERAGE(VALUE(A1:A10)) - 見えない文字が含まれている
# TRIM関数で空白を除去 =AVERAGEIF(TRIM(A1:A10), "条件", B1:B10) - 日付の形式が異なる
# DATEVALUE関数で統一 =AVERAGEIF(DATEVALUE(A1:A10), ">="&DATE(2024,1,1), B1:B10)
まとめ
Excelの平均値関数は、データ分析の基本中の基本となる重要な機能です。適切に使い分けることで、効率的で正確な分析が可能になります。
関数の使い分けガイド
| 場面 | 推奨関数 | 理由 |
|---|---|---|
| 全データの平均 | AVERAGE | シンプルで高速 |
| 1つの条件での絞り込み | AVERAGEIF | 直感的で使いやすい |
| 複数条件での分析 | AVERAGEIFS | 柔軟で高機能 |
| エラー処理が重要 | IFERRORと組み合わせ | 安全で実用的 |


コメント