AVERAGEIFの使い方徹底解説!条件付き平均の求め方と「0除外」「OR条件」をマスター

本記事で分かること
  • AVERAGEIF関数の基本的な使い方と構文
  • 特定の値(0など)を除外して平均を求める方法
  • #DIV/0!などのエラーを回避し、正しい平均を出す方法
  • AND条件やOR条件といった複数条件で平均を求める方法

AVERAGEIF関数とは?まずは基本を押さえよう

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!

#DIV/0!が出てしまう結果
DIV/0!が出てしまう結果
でんちゃん
でんちゃん

これを防ぐには、IFERROR関数で数式全体を囲み、エラーの場合に「0」や「-」などの文字を表示させることがおすすめです。

数式

=IFERROR(AVERAGEIF(B2:B9, “Zさん”, C2:C9), “データなし”)

結果

データなし

IFERROR関数を使用した結果
IFERROR関数を使用した結果
IFERROR関数について

もし数式(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(真)なら 1FALSE(偽)なら 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(…))の配列数式

ぜひ、今回のテクニックを日々の実務に活かしてみてください。

この記事を書いた人
でんちゃん

一児の父。人事として6年、採用・教育・労務・人事制度などを経験してきました。これまで200名ほどの方と面接を実施してきたので就職・転職に関するノウハウがあります。またExcelを用いたデータ分析が得意です。
娘が生まれ日々のすさまじい成長を目の当たりにしています。
人事やExcel、子育てに関してのお役立ち情報を伝えるブログを作っていきます!

でんちゃんをフォローする
Excel
シェアする
でんちゃんをフォローする

コメント

タイトルとURLをコピーしました