【Excel】AVERAGEIF・AVERAGEIFS関数で条件付き平均を計算する方法

【Excel】AVERAGEIF・AVERAGEIFS関数で条件付き平均を計算する方法
🛡️ 超解決

Excelで特定の条件を満たすデータの平均値を計算したい場面はありませんか?

例えば、特定の部署の平均給与や、ある期間の平均売上高などを求めたい場合に役立ちます。

本記事では、ExcelのAVERAGEIF関数とAVERAGEIFS関数を使って、条件に合ったデータの平均値を簡単に計算する方法を解説します。

【要点】条件付き平均を計算するAVERAGEIF・AVERAGEIFS関数

  • AVERAGEIF関数: 単一の条件で平均値を計算します。
  • AVERAGEIFS関数: 複数の条件で平均値を計算します。
  • 引数の指定: 条件範囲、条件、平均対象範囲の順で指定します。

ADVERTISEMENT

AVERAGEIF・AVERAGEIFS関数で条件付き平均を計算する仕組み

Excelで特定の条件を満たすデータの平均値を求めるには、AVERAGEIF関数とAVERAGEIFS関数が便利です。

AVERAGEIF関数は、1つの条件を指定して平均値を計算します。例えば、「東京」という地域名のデータだけを対象に平均売上を計算する、といった使い方ができます。

一方、AVERAGEIFS関数は、2つ以上の条件を組み合わせて平均値を計算できます。例えば、「東京」という地域名で、かつ「商品A」という商品名のデータだけを対象に平均売上を計算する、といった複雑な条件設定が可能です。

これらの関数は、膨大なデータの中から必要な情報だけを抽出し、分析する際に非常に強力なツールとなります。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

AVERAGEIF関数で単一条件の平均を計算する

AVERAGEIF関数は、指定した条件に一致するセルの平均値を計算します。基本的な構文は以下の通りです。

=AVERAGEIF(criteria_range, criteria, [average_range])

各引数の意味は以下の通りです。

  • criteria_range: 条件をチェックするセル範囲を指定します。
  • criteria: 条件を指定します。数値、文字列、セル参照などが使えます。
  • average_range: 平均を計算するセル範囲を指定します。省略すると、criteria_rangeと同じ範囲が対象になります。

AVERAGEIF関数の入力手順

ここでは、例として以下のような売上データがあるとします。

A列に「地域」、B列に「商品名」、C列に「売上」が入力されています。

「東京」の売上の平均値を計算してみましょう。

  1. 平均値を表示したいセルを選択する
    計算結果を表示したいセルをクリックします。
  2. AVERAGEIF関数を入力する
    選択したセルに「=AVERAGEIF(」と入力します。
  3. 条件範囲を指定する
    A列の地域データ範囲(例: A2:A10)をドラッグして選択するか、直接入力します。
  4. 条件を入力する
    カンマ「,」を入力し、条件である「東京」をダブルクォーテーション「”」で囲んで入力します。例:「”東京”」
  5. 平均対象範囲を指定する
    カンマ「,」を入力し、C列の売上データ範囲(例: C2:C10)をドラッグして選択するか、直接入力します。
  6. 関数を閉じる
    閉じ括弧「)」を入力し、Enterキーを押します。

これで、「東京」の売上の平均値が計算されます。

AVERAGEIF関数で使える条件の例

AVERAGEIF関数では、様々な条件を指定できます。

以下に代表的な例を挙げます。

数値条件:

  • 1000より大きい: `”>1000″`
  • 500以下: `”<=500"`
  • 500と1000の間: `”500″` (この場合、500以上のデータが対象)
  • 500と1000の間(両端を含む): `”>=”&500&”<="&1000`

文字列条件:

  • 「りんご」と完全に一致: `”りんご”`
  • 「みかん」で始まる: `”みかん*”` (アスタリスクは任意の文字列を表すワイルドカード)
  • 「バナナ」で終わる: `”*バナナ”`
  • 「ぶどう」を含む: `”*ぶどう*”`

セル参照条件:

別のセルに入力された条件を参照することも可能です。例えば、E1セルに「東京」と入力しておき、AVERAGEIF関数で `E1` を条件として指定すれば、E1セルの値を変更するだけで条件を変えられます。

数値条件とセル参照を組み合わせる場合は、演算子とセル参照をアンパサンド「&」で連結します。例: `”>”&E1`

AVERAGEIFS関数で複数条件の平均を計算する

AVERAGEIFS関数は、複数の条件をすべて満たすデータの平均値を計算します。構文は以下の通りです。

=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], …)

AVERAGEIF関数との大きな違いは、平均対象範囲(average_range)が最初に指定される点です。また、条件の数だけ「criteria_range」と「criteria」のペアを指定できます。

AVERAGEIFS関数の入力手順

先ほどの売上データに、「商品名」の条件を追加してみましょう。

「東京」かつ「りんご」の売上の平均値を計算します。

  1. 平均値を表示したいセルを選択する
    計算結果を表示したいセルをクリックします。
  2. AVERAGEIFS関数を入力する
    選択したセルに「=AVERAGEIFS(」と入力します。
  3. 平均対象範囲を指定する
    C列の売上データ範囲(例: C2:C10)をドラッグして選択するか、直接入力します。
  4. 最初の条件範囲を指定する
    カンマ「,」を入力し、A列の地域データ範囲(例: A2:A10)を選択または入力します。
  5. 最初の条件を入力する
    カンマ「,」を入力し、条件である「東京」をダブルクォーテーション「”」で囲んで入力します。例:「”東京”」
  6. 2番目の条件範囲を指定する
    カンマ「,」を入力し、B列の商品名データ範囲(例: B2:B10)を選択または入力します。
  7. 2番目の条件を入力する
    カンマ「,」を入力し、条件である「りんご」をダブルクォーテーション「”」で囲んで入力します。例:「”りんご”」
  8. 関数を閉じる
    閉じ括弧「)」を入力し、Enterキーを押します。

これで、「東京」かつ「りんご」の売上の平均値が計算されます。

AVERAGEIFS関数で指定できる条件の数

AVERAGEIFS関数では、最大で127個の条件を指定できます。

条件を増やす場合は、上記の手順5と6のペアを繰り返していきます。

例えば、さらに「サイズがM」という条件を追加したい場合は、

`=AVERAGEIFS(C2:C10, A2:A10, “東京”, B2:B10, “りんご”, D2:D10, “M”)`

のように、D列をサイズ範囲として追加します。

ADVERTISEMENT

AVERAGEIF・AVERAGEIFS関数を使う上での注意点

これらの関数を効果的に使うためには、いくつか注意しておきたい点があります。

h3>条件範囲と平均対象範囲のサイズが一致しない

AVERAGEIF関数、AVERAGEIFS関数ともに、指定する範囲のサイズ(行数または列数)は一致している必要があります。

例えば、条件範囲がA2:A10なのに、平均対象範囲がC2:C15のように異なると、エラーが発生するか、意図しない計算結果になります。

対処法: 関数を入力する前に、各範囲のサイズが揃っているか確認しましょう。Excelのバージョンによっては、範囲が一致しない場合に警告が表示されることもあります。

h3>文字列条件のワイルドカードの誤用

文字列条件でアスタリスク(*)や疑問符(?)などのワイルドカードを使う場合、正しく指定しないと期待通りの結果になりません。

アスタリスク(*)は任意の文字列、疑問符(?)は任意の1文字を表します。

例えば、「りんご*」は「りんご」で始まるものすべてを指しますが、「*りんご*」としないと「りんご」という文字列が含まれるものすべてを対象にできません。

対処法: ワイルドカードの意味を理解し、目的に応じて正しく使い分けましょう。検索したい文字列自体にワイルドカード文字が含まれる場合は、その文字の前にチルダ(~)を付けてエスケープします。例:「~*」でアスタリスクそのものを検索します。

h3>条件に一致するデータがない場合

指定した条件に一致するデータが一つもない場合、AVERAGEIF関数とAVERAGEIFS関数は「#DIV/0!」エラーを返します。

これは、平均値を計算する際にゼロ除算が発生するためです。

対処法: IFERROR関数と組み合わせることで、エラー表示を回避できます。

例: `=IFERROR(AVERAGEIF(A2:A10,”東京”,C2:C10),”該当データなし”)`

これにより、条件に一致するデータがなくてもエラーにならず、「該当データなし」といったメッセージを表示できます。

h3>AVERAGEIFS関数で条件がすべて満たされない場合

AVERAGEIFS関数は、指定したすべての条件を満たすデータがない場合に「#DIV/0!」エラーを返します。

AVERAGEIF関数と同様に、IFERROR関数でエラー処理を行うことができます。

対処法: `=IFERROR(AVERAGEIFS(C2:C10, A2:A10, “東京”, B2:B10, “りんご”), “該当データなし”)` のようにIFERROR関数で囲みます。

h3>Excelのバージョンによる違い

AVERAGEIF関数はExcel 2007以降で利用可能です。

AVERAGEIFS関数はExcel 2007以降で利用可能です。

Microsoft 365、Excel 2021、Excel 2019、Excel 2016、Excel 2013、Excel 2010、Excel 2007といった主要なバージョンであれば、どちらの関数も問題なく使用できます。

AVERAGEIF関数とAVERAGEIFS関数の使い分け

どちらの関数を使うかは、条件の数によって判断します。

関数名 条件の数 主な用途
AVERAGEIF 1つ 単一の条件で平均を計算する
AVERAGEIFS 2つ以上 複数の条件を組み合わせて平均を計算する

もし、将来的に条件が増える可能性がある場合は、最初からAVERAGEIFS関数を使っておくと、後から数式を修正する手間が省けます。

AVERAGEIFS関数は、条件が1つだけのケースでも使用可能です。その場合、AVERAGEIF関数と同じ結果になります。

まとめ

本記事では、ExcelのAVERAGEIF関数とAVERAGEIFS関数を用いて、条件付きで平均値を計算する方法を解説しました。

AVERAGEIF関数を使えば単一条件で、AVERAGEIFS関数を使えば複数の条件で、それぞれデータの平均値を効率的に算出できます。

これらの関数を使いこなすことで、データ分析の精度を高め、より深い洞察を得られるでしょう。

ぜひ、ご自身の業務でこれらの関数を活用してみてください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】