AVERAGEIFS関数の使い方を徹底解説!複数条件の平均計算をマスターしよう

「特定の商品だけ」「特定の支店のデータだけ」など、複数の条件に当てはまるデータの平均値を求めたいときに使用するAVERAGEIFS関数について良くある困りごとや基本的な使い方について具体的なデータを用いながら解説していきます。

この記事で分かること
  • AVERAGEIFS関数の基本と正しい構文
  • 「0以外」のデータを平均する方法
  • AND条件(かつ)やOR条件を使った平均の求め方
  • 複数条件に対応する平均の求め方
  • 「以上」「以下」の数値を条件にする方法
  • AVERAGEIFSを使う際の注意点

AVERAGEIFS関数の基本概要と使い方

AVERAGEIFS関数とは?

AVERAGEIFS関数とは

複数の条件を満たすセルの平均を計算するための関数

似た関数に、一つの条件で平均を求めるAVERAGEIF関数がありますが、AVERAGEIFSは「複数」の条件に対応している点が大きな違いです。

たとえば、「2025年」の「東京支店」における「売上」の平均を求めたい、といった場合に非常に便利です。

構文(書き方)を理解しよう

AVERAGEIFS関数の基本的な構文は以下の通りです。

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

  • 平均対象範囲:平均を計算したい数値が入っているセル範囲(例:売上高の列)
  • 条件範囲1:条件1をチェックしたいセル範囲(例:支店の列)
  • 条件1:条件範囲1の中から平均対象に含めたい条件(例:「東京支店」)
  • 条件範囲2以降:2つ目以降の条件をチェックしたいセル範囲
  • 条件2以降:2つ目以降の条件
ポイント

AVERAGEIFS関数を使う際、最初に「どの範囲の平均を求めたいか」を指定すること

AVERAGEIFSの例題:基本の使い方をマスター

実際に以下のデータを使って、AVERAGEIFSの基本を試してみましょう。

売上管理表
売上管理表

【例題1】

「東京支店」かつ「担当者:山田」の売上平均を求める

AND条件を使って求めていきましょう!

数式

=AVERAGEIFS(D2:D7, B2:B7, “東京”, C2:C7, “山田”)

  1. 平均対象範囲:売上高の列(例:D2:D7)
  2. 条件範囲1:支店の列(例:B2:B7)
  3. 条件1:”東京”
  4. 条件範囲2:担当者の列(例:C2:C7)
  5. 条件2:”山田”

結果

支店が東京かつ担当者が山田の売上は50,000円と60,000円なので、平均は (50,000 + 60,000) ÷2=55,000(円)となります。

例題1の結果

実務で役立つ条件指定のテクニック

AVERAGEIFS関数で条件を指定する際、文字や数値以外に、比較演算子($<, >, =,など)を使うことで、より柔軟な平均計算が可能になります。

比較演算子一覧

よく使う比較演算子の一覧を用意しました。

比較演算子意味使用例 (50000円を条件にする場合)
>より大きい“> 50000”
<より小さい(未満)“< 50000”
>=以上“>= 50000”
<=以下“<= 50000”
=等しい“= 50000″または "50000"
<>等しくない“<> 50000”
ポイント

条件に比較演算子を使う場合は、必ずダブルクォーテーション(” “)で囲む

0以外の数値の平均を求める方法

でんちゃん
でんちゃん

「売上高が0円のデータは除外して平均を出したい」というケースはありませんか?

この場合、条件として「0ではない」(「$<> $」)を使用します。

【例題2】

売上高が「0円ではない」データの平均を求める

売上管理表
売上管理表

数式

=AVERAGEIFS(D2:D7, D2:D7, “<>0”)

  1. 平均対象範囲:売上高の列(例:D2:D7)
  2. 条件範囲1:売上高の列(例:D2:D7)平均対象範囲と同じ列を指定
  3. 条件1:”<>0″

結果

0円のデータ(3番と6番)を除外した (50,000 + 80,000 + 70,000 + 60,000) の平均 65,000(円)となります。

例題2の結果

以上・以下の数値を条件にする方法

「50,000円以上の売上データの平均」や、「100,000円以下の売上データの平均」を求めたい場合は>=(以上)や<=(以下)を使います。

【例題3】

売上高が「70,000円以下」のデータの平均を求める

数式

=AVERAGEIFS(D2:D7, D2:D7, “<=70000”)

  1. 平均対象範囲:売上高の列(例:D2:D7)
  2. 条件範囲1:売上高の列(例:D2:D7)
  3. 条件1:”<=70000″

結果

70,000円以下は、50,000円、70,000円、60,000円の3件なので、平均は (50,000 + 70,000 + 60,000) /3=36,000(円)となります。

例題3の結果

セル参照(変数)を条件に使う方法

条件を直接数式に書き込むのではなく、別のセルに入力した値(例:セルA1に「東京」と入力)を参照したい場合は、比較演算子とセル参照を&で繋げます。

【例題4】

セルF1に指定した数値「以上」の平均を求める
F1セルに「70000」と入力されているとします。

数式

=AVERAGEIFS(D2:D7, D2:D7, “>=” & F1)

  1. 条件1: “>=” & F1

結果

例題4の結果
でんちゃん
でんちゃん

>= “の部分はダブルクォーテーションで囲みますが、セル参照のF1の部分は囲まないのがルールです。

比較演算子とセル参照を&で結合することで、「F1セルの値以上のデータ」と認識します。


AND条件・OR条件の使い方と複数条件の応用

AVERAGEIFS関数は、本質的にAND条件(全ての条件を満たす)の計算が得意です。

しかし、少し工夫することでOR条件(いずれかの条件を満たす)の平均も計算できるようになります。

AND条件(複数の条件をすべて満たす)

これは、AVERAGEIFSの基本形です。

「支店が東京」かつ「担当者が山田」のように、引数を順番に指定していくだけです。

【例題1と同様】

「東京支店」かつ「担当者:山田」の売上平均

=AVERAGEIFS(D2:D7, B2:B7, “東京”, C2:C7, “山田”)

例題1の結果

AVERAGEIFSは、指定したすべての条件の組み合わせが揃った行の平均だけを計算してくれる、非常に便利なAND専用関数だと覚えておきましょう。

OR条件(いずれかの条件を満たす)の考え方

AVERAGEIFS関数だけではOR条件(「東京支店」または「大阪支店」の平均)を直接計算することはできません

でんちゃん
でんちゃん

そこで、OR条件の平均を求めたい場合は、AVERAGEIF関数を複数使い、最後にAVERAGE関数でまとめるというテクニックを使います。

【例題5】

「東京支店」または「大阪支店」の売上平均を求める

手順
  1. AVERAGEIF関数で「東京支店」の平均を求める。
  2. AVERAGEIF関数で「大阪支店」の平均を求める。
  3. AVERAGE関数で、これらの平均対象となったすべての売上高を平均する。

実は、この方法は手間がかかり、しかも「平均の平均」になってしまい、厳密には元のデータのOR条件の平均とはならないという問題があります。(例:東京の平均が5万、大阪の平均が8万、合計売上件数が異なる場合、結果がズレる。)

正しいOR条件の平均を求めるには、より高度な配列数式(SUM/COUNTIFの組み合わせ)を使いますが、ここでは、最もシンプルで実務上問題になりにくい方法をご紹介します。

実務的なOR条件の平均(複数条件)を求めるテクニック

これは、「条件に当てはまるデータの合計」を「条件に当てはまるデータの件数」で割るという、平均の基本定義(合計/件数)を使う方法です。

数式

=(SUMIF(B2:B7, “東京”, D2:D7) + SUMIF(B2:D7, “大阪”, D2:D7)) / (COUNTIF(B2:B7, “東京”) + COUNTIF(B2:B7, “大阪”))

この方法なら、「東京」または「大阪」のすべての売上高を合計し、その合計件数で割るので、正確なOR条件の平均を求めることができます!少し複雑ですが、この考え方を覚えておくと非常に役立ちます。

例題5の結果

AVERAGEIFS関数を使う際の注意点

AVERAGEIFS関数は非常に便利ですが、いくつか注意しておきたい点があります。これを押さえておけば、エラーや誤った結果を防ぐことができます。

注意点
  1. 平均対象範囲と条件範囲のサイズは必ず揃える
  2. 条件に文字列や比較演算子を使うときは「” “」で囲む
  3. 条件を満たすデータがない場合

1. 平均対象範囲と条件範囲のサイズは必ず揃える

最もよくあるエラーの原因です。

  • 平均対象範囲(例:D2:D7)
  • 条件範囲1(例:B2:B7)

上記のように、行数(この例では6行)がすべて揃っている必要があります。

もし、D2:D7とB2:B8のように範囲がずれると、数式は正しく動作しません

2. 条件に文字列や比較演算子を使うときは「” “」で囲む

“東京”、”<>0″、$”>=50000″$ のように、条件として直接入力する文字列や比較演算子は、必ずダブルクォーテーションで囲みます

ただし、セル参照と組み合わせる場合は、前述の通り”>= “&G1のように、比較演算子のみを囲み、セル参照は囲まないように注意が必要です。

3. 条件を満たすデータがない場合

指定した複数の条件を満たすデータが1件もなかった場合、AVERAGEIFS関数は#DIV/0!というエラーを返します。これは「ゼロで割ろうとしている」という意味のエラーです。

でんちゃん
でんちゃん

エラー表示を避けたい場合は、IFERROR関数を使ってエラー処理を行いましょう。

エラー処理の数式

=IFERROR(AVERAGEIFS(D2:D7, B2:B7, “なし”), “該当データなし”)

条件を満たすデータがない場合、「該当データなし」と表示されます。


まとめ:AVERAGEIFSを使いこなしてデータ分析を加速させよう!

今回は、Excelで複数の条件を指定して平均を求めるAVERAGEIFS関数について、基本から応用的な使い方について解説しました。

知っておきたいAVERAGEIFSのテクニック
  • 基本構文
    最初に平均対象範囲を指定する
  • 0以外を求める
    条件に”<>0″を指定する
  • 以上・以下
    条件に”>=数値“や”<=数値“を指定する
  • セル参照
    演算子を&でセルと結合する(例:”>= ” &A1)
  • OR条件の平均
    SUMIFとCOUNTIFの組み合わせで正確に計算する
  • 注意点
    • 平均対象範囲と条件範囲のサイズは必ず揃える
    • 範囲のサイズを揃えること、条件を” “で囲むこと
    • 条件を満たすデータがない場合はIFERROR関数を活用する

AVERAGEIFS関数は、AND条件での平均計算において便利な機能の一つです。

この記事が参考になれば幸いです。

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

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

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

コメント

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