条件に一致したデータの平均値を求めるAVERAGEIF関数・AVERAGEIFS関数
条件に一致したデータの平均値を求めるAVERAGEIF関数・AVERAGEIFS関数
営業成績の分析や商品別の売上平均、部門別の実績平均など、特定の条件に合致したデータの平均値を求めたいことってありますよね。
今回はAVERAGEIF関数とAVERAGEIFS関数をご紹介します。正直AVERAGEIFSでAVERAGEIFを包含するので、AVERAGEIFSだけ書き方を覚えればOKです!早速やっていきましょう。
Contents
1. AVERAGEIF・AVERAGEIFS関数の基本構文
AVERAGEIFS関数(複数条件対応)
=AVERAGEIFS(平均したい範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
=AVERAGEIFS(平均したい範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
AVERAGEIF関数(単一条件)
=AVERAGEIF(条件範囲, 条件, 平均したい範囲)
=AVERAGEIF(条件範囲, 条件, 平均したい範囲)
基本的な考え方は、「どの範囲の数値を平均するか」「どの条件に合致したデータを対象にするか」を指定するだけです。
2. 実際のデータで練習してみよう
以下のような営業成績データを使って実際に関数を使ってみましょう。
A | B | C | D | E |
---|---|---|---|---|
1 | 担当者 | 部門 | 商品 | 売上 |
2 | 田中 | 営業1部 | 商品A | 150 |
3 | 佐藤 | 営業2部 | 商品B | 200 |
4 | 鈴木 | 営業1部 | 商品A | 180 |
5 | 高橋 | 営業2部 | 商品C | 220 |
6 | 山田 | 営業1部 | 商品B | 170 |
このデータを使って、「営業1部の平均売上」を求めてみましょう。
3. 基本的な使い方:単一条件での平均値計算
=AVERAGEIFS(E2:E6, C2:C6, "営業1部")
この式の意味は以下の通りです:
E2:E6
:平均を求めたい範囲(売上列)C2:C6
:条件を確認する範囲(部門列)"営業1部"
:条件(営業1部に該当するデータのみ)
結果:(150 + 180 + 170) ÷ 3 = 166.7
4. 複数条件での平均値計算
「営業1部」かつ「商品A」の平均売上を求める場合:
=AVERAGEIFS(E2:E6, C2:C6, "営業1部", D2:D6, "商品A")
この場合、田中さんと鈴木さんのデータが対象となり、(150 + 180) ÷ 2 = 165 となります。
💡 ポイント:条件は「かつ(AND)」の関係で組み合わされます。「または(OR)」の条件を使いたい場合は、複数の関数を組み合わせる必要があります。
5. 絶対参照と相対参照を使った効率的な計算
複数の条件で平均値を求める際、毎回同じような関数を書くのは手間ですよね。ここで絶対参照($)を使った効率的な方法をご紹介します。
以下のような集計表を作成する場合を考えてみましょう:
G | H | I |
---|---|---|
1 | 部門 | 平均売上 |
2 | 営業1部 | =AVERAGEIFS(E$2:E$6, C$2:C$6, G2) |
3 | 営業2部 | =AVERAGEIFS(E$2:E$6, C$2:C$6, G3) |
重要:データ範囲(E$2:E$6, C$2:C$6)は行を固定し、条件セル(G2, G3)は相対参照にすることで、コピー&ペーストで簡単に複数の条件の計算ができます。
6. 実践的な応用例とよくある間違い
よくある間違い1:範囲のサイズが合わない
❌ =AVERAGEIFS(E2:E6, C2:C5, "営業1部") // 範囲のサイズが不一致
平均したい範囲と条件範囲は同じサイズにする必要があります。
よくある間違い2:条件の書き方
❌ =AVERAGEIFS(E2:E6, C2:C6, 営業1部) // 文字列は""で囲む
✅ =AVERAGEIFS(E2:E6, C2:C6, "営業1部") // 正しい書き方
✅ =AVERAGEIFS(E2:E6, C2:C6, "営業1部") // 正しい書き方
応用例:数値条件の使用
売上が180以上のデータの平均を求める場合:
=AVERAGEIFS(E2:E6, E2:E6, ">=180")
💡 他の比較演算子:
">100"
:100より大きい"<=200"
:200以下"<>0"
:0でない
📋 まとめ
- AVERAGEIF関数とAVERAGEIFS関数の使い所
- 特定の条件に合致するデータの平均値を求めたいとき
- 複数の条件を組み合わせて詳細な分析をしたいとき
- 基本構文
- =AVERAGEIFS(平均したい範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
- =AVERAGEIF(条件範囲, 条件, 平均したい範囲)
- 実用例
- AVERAGEIFS(E$2:E$6, C$2:C$6, "営業1部")
- AVERAGEIFS(E$2:E$6, C$2:C$6, "営業1部", D$2:D$6, "商品A")
- 効率化のコツ
- 絶対参照($)を使ってコピー&ペーストで複数条件の計算を効率化
- データ範囲は固定、条件セルは相対参照にする
AVERAGEIF・AVERAGEIFS関数をマスターすることで、大量のデータから必要な情報を素早く分析できるようになります。ぜひ実際のデータで練習して、使いこなせるようになってくださいね!