AVERAGEIF関数とは?まずは基本を押さえよう
AVERAGEIFの構文と役割
「指定した範囲にあるセルの中で、特定の条件を満たすものだけを対象に平均を計算する」ための関数
AVERAGEIFの構文
=AVERAGEIF(範囲, 検索条件, [平均対象範囲])
- 範囲:検索対象となるセル範囲
- 条件範囲:平均を計算するために必要な条件
- [平均対象範囲]:実際に平均を計算するセル範囲
基本の例題:特定担当者の売上平均を計算
以下のデータを使って、「担当者Aさんの売上の平均」を求めてみましょう。

数式:
=AVERAGEIF(B2:B9, “Aさん”, C2:C9)
- 範囲: B2:B9 (担当者名の列)
- 検索条件: “Aさん”
- 平均対象範囲: C2:C9 (売上の列)
計算結果:
( 500 + 300 + 800 ) ÷ 3 = 533.333…

文字列の条件は必ず“”(ダブルクォーテーション)で囲みましょう。
実務で役立つテクニック:「0」と「エラー」を除外する方法
「平均を出すとき、売上が0のものは除外したい」「計算結果がエラーになっているセルを無視したい」時の方法を解説していきます。
売上が「0以外」の平均を求める:不等号 <> を使う
AVERAGEIFは、条件式に比較演算子を使うことで、「〜よりも大きい」「〜と等しくない」といった指定ができます。
「0以外」の平均を求めるには、条件を「0と等しくない」と指定します。
売上列にある「0」を除外した平均を求めます。
=AVERAGEIF(C2:C9, “<>0”, C2:C9)
- 範囲: C2:C9 (売上列)
- 検索条件: “<>0” (0ではない)
計算結果:
0のみかんとパインを除外した ( 500 + 300 + 700 + 400 + 800 ) ÷ 5 = 540

比較演算子を使う場合、「<>0」のように必ず全体をダブルクォーテーションで囲みます。
例: “>500” (500より大きい)、 “<=500” (500以下)
比較演算子一覧
| 比較演算子 | 意味 | 使用例 (50000円を条件にする場合) |
|---|---|---|
| > | より大きい | “> 50000” |
| < | より小さい(未満) | “< 50000” |
| >= | 以上 | “>= 50000” |
| <= | 以下 | “<= 50000” |
| = | 等しい | “= 50000″または "50000" |
| <> | 等しくない | “<> 50000” |
#DIV/0! や #N/A のエラーを除く方法
1. 平均対象範囲のエラーは自動で無視される
実はAVERAGEIF関数は、平均対象範囲にエラー値が含まれていても、それを自動で無視して平均を計算してくれるという優れものです。下記データにある #N/A も自動的に除外されます。

条件:
売上全体の平均(ただし0は除外)
数式:
=AVERAGEIF(C2:C9, “>0”, C2:C9)

この数式では、売上0の項目に加え、エラー値の #N/A も自動で無視して計算が行われます。
2. AVERAGEIF自体が #DIV/0! エラーを出す場合
AVERAGEIFは、条件に一致するセルが一つもなかった場合に、#DIV/0!(ゼロ除算)エラーを返します。
例:
データにいない「Zさん」の売上平均を求める
数式:
=AVERAGEIF(B2:B9, “Zさん”, C2:C9)
結果:
#DIV/0!


これを防ぐには、IFERROR関数で数式全体を囲み、エラーの場合に「0」や「-」などの文字を表示させることがおすすめです。
数式:
=IFERROR(AVERAGEIF(B2:B9, “Zさん”, C2:C9), “データなし”)
結果:
データなし

もし数式(AVERAGEIF(…))がエラーになったら、指定した値(”データなし”)を表示するという関数
一歩進んだ活用:AND・OR条件、複数条件の使い方
AVERAGEIFは「単一の条件」用です。
「AND条件」や「OR条件」のように複数の条件を設定する場合は、別の関数を使ったり、少し高度なテクニックが必要になります。
AND条件(複数の条件をすべて満たす)を使うには:AVERAGEIFS
複数のAND条件で平均を求めたい場合は、AVERAGEIFS関数を使います。
AVERAGEIFSの構文
構文の順番がAVERAGEIFとは逆になる点に注意が必要です!
=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2, …])
AVERAGEIFSは、最初に平均対象範囲を指定します。

AVERAGEIFSの具体的な使い方を知りたい方は下記記事を参考にしてください。
OR条件(複数の条件のいずれかを満たす)を使うには:配列数式
AVERAGEIFSはOR条件に対応していません。
「担当者AさんまたはBさん」のように、複数のOR条件で平均を出したい場合は、配列数式を使います。
OR条件の基本は AVERAGE(IF(…))
OR条件をAVERAGEで使うには、「AVERAGE関数」と「IF関数」を組み合わせます。
例題:
「担当者Aさん」または「担当者Cさん」の売上平均を求める

数式:
=AVERAGE(IF((B2:B6=”Aさん”)+(B2:B6=”Cさん”), C2:C6))
計算結果:
( 500 + 300 + 700 + 800 + 0 ) ÷ 5 = 460
- OR条件の作成:
(B2:B6=”Aさん”) + (B2:B6=”Cさん”) の部分がOR条件を作っています。- Excelでは、条件がTRUE(真)なら 1、FALSE(偽)なら 0 として扱われます。
- +(足し算)を使うことで、どちらかの条件が満たされていれば結果が 1以上 になり、ORの役割を果たします。
- AVERAGEで平均:
AVERAGE関数は、IF関数が返した条件に合わなかった場合の FALSE を無視して平均を計算します。

この数式を入力した後、必ず Ctrl + Shift + Enter で確定します。(Macの場合は Command + Shift + Enter)
成功すると、数式の前後に { }(波括弧)が自動で表示されます。
ORを複数条件で使う方法(ANDとORの組み合わせ)
ANDとORを組み合わせる場合は、配列数式の中で、AND条件は*(掛け算)、OR条件は +(足し算)として表現します。
例題:
「担当者AさんまたはBさん」 かつ 「売上が300円以上」 の平均
=AVERAGE(IF(((B2:B6=”Aさん”)+(B2:B6=”Bさん“))*(C2:C6>=300), C2:C6))
- ((B2:B6=”A”)+(B2:B6=”B”)):OR条件
- *(C2:C6>=300):AND条件(ORの結果と掛け算)

繰り返しになりますが、必ず Ctrl + Shift + Enter で確定してください!

AVERAGEIFを使う際の注意点まとめ
最後に、AVERAGEIFを使う際、つまづきやすいポイントをまとめておきましょう。
- 文字列と記号の囲み方
- セル参照を使う場合
- #DIV/0! エラーの回避
- 複数条件(AND/OR)への対応
- 全角・半角の違い
1. 条件の指定に関するルール
- 文字列と記号の囲み方:
- AVERAGEIFでは、条件として指定する文字列や、比較演算子( > 、 < 、 <> など)を含む条件は、必ずダブルクォーテーション(””)で囲む必要があります。例えば、”Aさん” や “<>0” と記述します。
- セル参照を使う場合:
- 条件にセルを参照したい場合(例:「D2セルに入力された値より大きい」)、比較演算子とセル参照をアンパサンド(&)で結合します。この際、比較演算子のみをダブルクォーテーションで囲むのがポイントです。例えば”>”&D2と記述します。
2. エラー回避と条件の複雑化への対応
- #DIV/0! エラーの発生と回避:
- AVERAGEIFの条件に一致するセルが一つもなかった場合、Excelは#DIV/0!(ゼロ除算)エラーを返します。
- これを防ぐには、数式全体をIFERROR関数で囲み、エラーが発生した場合に表示する値(例:0 や “-“)を設定しましょう。
- 複数条件(AND/OR)への対応:
- AND条件(複数の条件をすべて満たす)で平均を求めたい場合は、AVERAGEIFではなくAVERAGEIFS関数を使います。
- OR条件(複数の条件のいずれかを満たす)で平均を求めたい場合は、AVERAGE(IF(…)) といった配列数式のテクニックが必要です。
3. データの一致に関する問題
- 全角・半角やスペースの違い:
- 条件に指定する文字列(担当者名など)は、データと全角・半角、スペースの有無などが完全一致していないと、正しく認識されません。
- データ入力の段階で、統一ルールを決めておくか、TRIM関数などでスペースを削除しておくと安心です。
まとめ:AVERAGEIFで平均集計の悩みを解消!
AVERAGEIF関数の基本から、実務で役立つ「0やエラーの除外」、「AND・OR・複数条件」での平均の求め方まで、幅広くマスターしていただけたかと思います。
- 単一条件なら:AVERAGEIF
- AND条件(複数)なら:AVERAGEIFS
- OR条件(複数)なら:AVERAGE(IF(…))の配列数式
ぜひ、今回のテクニックを日々の実務に活かしてみてください。
コメント