ExcelのAVERAGEIFS関数の使い方|複数条件で平均を求める方法

スポンサーリンク

「営業部の、4月の売上平均を出したい」と思ったことはありませんか。条件が1つならAVERAGEIF関数で対応できます。でも、条件が2つ以上になると対応できません。

そんなときに使うのがAVERAGEIFS関数です。条件範囲と検索条件のペアを並べるだけで、すべての条件を満たすセルの平均値を返してくれます。

この記事では、AVERAGEIFS関数の基本から実務での活用パターンまで解説します。日付範囲の集計やエラー対処法もカバーしているので、ぜひ参考にしてください。

この記事は次のような人におすすめ

  • 複数の条件をすべて満たすセルの平均を求めたい
  • 「部署×期間」や「商品×評価」のように絞り込んで平均を出したい
  • AVERAGEIF関数との違いがよくわからない
  • SUMIFS関数やCOUNTIFS関数との使い分けを整理したい

AVERAGEIFS関数とは?

AVERAGEIFS関数(読み方: アベレージ・イフ・エス)は、複数の条件をすべて満たすセルの平均値を求める関数です。名前は「AVERAGE(平均)」+「IF(もし)」+「S(複数形)」の組み合わせ。「複数の”もし”で平均する」という意味になっています。

たとえば、こんな場面で活躍します。

  • 「営業部」の「4月」の売上平均を出す
  • 「80点以上」かつ「出席回数5回以上」の受講者で平均点を求める
  • 「東京支店」の「2025年」の月次売上で平均を出す

条件が1つだけならAVERAGEIF関数で十分です。条件が2つ以上になるとAVERAGEIFS関数の出番です。条件はすべてAND条件(かつ)で評価されます。

対応バージョン

AVERAGEIFS関数はExcel 2007以降のすべてのバージョン、Microsoft 365、Googleスプレッドシートで使用できます。

AVERAGEIFS関数の書き方(構文と引数)

基本構文

=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...)

AVERAGEIF関数と引数の順番が違うのがポイントです。AVERAGEIFS関数では平均対象範囲が最初に来ます。

引数の説明

引数必須/任意説明
平均対象範囲必須実際に平均を計算するセル範囲
条件範囲1必須1つ目の条件を判定するセル範囲
条件1必須1つ目の検索条件。文字列・数値・セル参照・比較演算子が使える
条件範囲2, 条件2, …任意2つ目以降の条件。最大127ペアまで指定可能

AVERAGEIF関数との引数順の違い

AVERAGEIF関数は「範囲 → 条件 → 平均対象範囲」の順ですが、AVERAGEIFS関数は「平均対象範囲 → 条件範囲1 → 条件1 → …」の順です。平均対象範囲の位置が逆なので、書き間違えに注意してください。

条件範囲と平均対象範囲は行数・列数を揃える必要があります。サイズが異なると#VALUE!エラーになります。

AVERAGEIFS関数の基本的な使い方

ここからは実際にAVERAGEIFS関数を使ってみましょう。以下のような売上データを例に解説していきます。

 A列(部署)B列(月)C列(売上)
2行目営業部4月350,000
3行目営業部5月420,000
4行目総務部4月180,000
5行目総務部5月200,000
6行目営業部4月310,000

2つの条件で平均を求める

「営業部」の「4月」の売上平均を求めたい場合はこう書きます。

=AVERAGEIFS(C2:C10, A2:A10, "営業部", B2:B10, "4月")
  • 平均対象範囲: C2:C10(売上金額)
  • 条件範囲1: A2:A10(部署名)→ 条件1: “営業部”
  • 条件範囲2: B2:B10(月)→ 条件2: “4月”

A列が「営業部」かつB列が「4月」の行だけが対象です。上の表でいえば、350,000と310,000の平均で330,000が返ります。

比較演算子を使って数値条件を指定する

「売上が200,000以上」かつ「営業部」の平均を求めたいときは、比較演算子を使います。

=AVERAGEIFS(C2:C10, A2:A10, "営業部", C2:C10, ">=200000")

比較演算子を使う場合は、条件全体をダブルクォーテーション(”)で囲むのがポイントです。

使える比較演算子をまとめておきます。

演算子意味使用例
>より大きい“>100000”
<より小さい“<50000"
>=以上“>=200000”
<=以下“<=500000"
<>等しくない“<>0″

セル参照で条件を動的に変える

条件を直接数式に書く代わりに、セル参照を使うと便利です。E1セルに部署名、F1セルに月を入力しておきます。

=AVERAGEIFS(C2:C10, A2:A10, E1, B2:B10, F1)

E1とF1の値を変えるだけで計算結果が切り替わります。レポート作成やダッシュボードの作成に重宝しますよ。

AVERAGEIFS関数の実践的な使い方・応用例

基本がわかったところで、実務でよく使うパターンを見ていきましょう。

日付範囲を指定して平均を求める

「2025年4月1日から6月30日まで」のように期間を絞りたいときは、条件を2つ使います。「以上」と「以下」を指定するのがコツです。

=AVERAGEIFS(C2:C100, B2:B100, ">="&DATE(2025,4,1), B2:B100, "<="&DATE(2025,6,30))

ポイントは、DATE関数&演算子で条件を組み立てることです。">=2025/4/1"と直接書くとうまく動かないことがあるので、DATE関数を使うのが確実です。

同じ条件範囲(B2:B100)に対して2つの条件を指定できるのも、AVERAGEIFS関数の便利な点です。

ワイルドカードで部分一致の条件を指定する

「東京」を含むすべての支店の売上平均を出したいときは、ワイルドカード * を使います。

=AVERAGEIFS(C2:C50, A2:A50, "*東京*", B2:B50, "4月")

*(アスタリスク)は「任意の文字列」を表します。「東京支店」「東京第二支店」など、「東京」を含むすべてのデータが対象になります。

もうひとつ、?(クエスチョンマーク)は「任意の1文字」を表すワイルドカードです。

ワイルドカード意味使用例
*任意の文字列東京
?任意の1文字“??支店”
~エスケープ(*や?自体を検索)“~*含む”

不一致条件()で特定データを除外する

「総務部以外」の「4月」の平均を出したい場合は、<>(等しくない)を使います。

=AVERAGEIFS(C2:C50, A2:A50, "<>総務部", B2:B50, "4月")

特定の部署やカテゴリを除外して集計したいときに便利なパターンです。

0を除外して正確な平均を求める

データの中に「未入力の代わりに0が入っている」ケースってありますよね。0も計算に含めると平均が下がってしまいます。

=AVERAGEIFS(C2:C50, A2:A50, "営業部", C2:C50, "<>0")

平均対象範囲と同じ範囲(C2:C50)を条件範囲にして、"<>0"と指定するのがコツです。

よくあるエラーと対処法

AVERAGEIFS関数でエラーが出たら、以下の表を参考に対処してみてください。

エラー原因対処法
#DIV/0!条件に一致するセルが1つもない検索条件のスペルミス・余分なスペースを確認。IFERROR関数で囲む
#VALUE!条件範囲と平均対象範囲のサイズが不一致各範囲の行数・列数を揃える
#VALUE!検索条件が255文字を超えている条件を短くするか、別の方法で対応
予想より低い値0が平均に含まれている"<>0" 条件を追加して0を除外
予想と違う値全角・半角、大文字・小文字の不一致ASC関数で統一するか、条件側の表記を確認
予想と違う値日付条件が正しく評価されていない">=2025/4/1" ではなく ">="&DATE(2025,4,1) で指定

#DIV/0! エラーをIFERRORで防ぐ

条件に一致するデータがないと、AVERAGEIFS関数は#DIV/0!エラーを返します。レポートにエラーが出るのは避けたいですよね。

IFERROR関数で囲んでおけば安心です。

=IFERROR(AVERAGEIFS(C2:C50, A2:A50, "営業部", B2:B50, "4月"), "該当データなし")

エラーの代わりに「該当データなし」と表示されるので、レポートの見栄えもよくなります。

似た関数との違い・使い分け

AVERAGEIFS関数と似た働きをする関数を比較表でまとめました。

関数目的条件の数引数の順番
AVERAGEIF条件付き平均1つ範囲 → 条件 → 平均対象範囲
AVERAGEIFS複数条件付き平均最大127個平均対象範囲 → 条件範囲 → 条件
SUMIFS複数条件付き合計最大127個合計対象範囲 → 条件範囲 → 条件
COUNTIFS複数条件付きカウント最大127個条件範囲 → 条件(対象範囲なし)
AVERAGE全体の平均なし数値 or 範囲

AVERAGEIF関数との使い分け

条件が1つだけならAVERAGEIF関数、2つ以上ならAVERAGEIFS関数を使います。

注意したいのが引数の順番です。AVERAGEIF関数は「範囲が最初」。AVERAGEIFS関数は「平均対象範囲が最初」です。書き間違えやすいので意識しておきましょう。

SUMIFS・COUNTIFS関数との関係

SUMIFS・COUNTIFS・AVERAGEIFSは「複数条件シリーズ」です。構文がほぼ同じで、違いは「結果として何を返すか」だけです。

関数返す値使う場面
SUMIFS合計部署別の売上合計など
COUNTIFS個数条件に合う件数を数える
AVERAGEIFS平均条件に合うデータの平均を出す

構文に慣れてしまえば、目的に応じて関数名を差し替えるだけで対応できますよ。

まとめ

この記事では、ExcelのAVERAGEIFS関数について基本から応用まで解説しました。

ポイントをおさらいしておきましょう。

  • AVERAGEIFS関数は、複数の条件をすべて満たすセルの平均を求める関数
  • 引数の順番は「平均対象範囲 → 条件範囲1 → 条件1 → …」(AVERAGEIFと逆)
  • 日付条件はDATE関数と&演算子で組み立てるのが確実
  • ワイルドカード(* ?)や比較演算子(>= <>)も条件に使える
  • 条件に一致するデータがないと #DIV/0! エラー → IFERROR関数で対策
  • 条件が1つだけならAVERAGEIF関数、合計ならSUMIFS関数、個数ならCOUNTIFS関数

AVERAGEIFS関数を使えるようになると、実務の集計がぐっと楽になります。まずは部署×月の平均計算から試してみてください。

関連記事

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