Excelで特定の条件を満たすデータの平均値を計算したい場面はありませんか?
例えば、特定の部署の平均給与や、ある期間の平均売上高などを求めたい場合に役立ちます。
本記事では、ExcelのAVERAGEIF関数とAVERAGEIFS関数を使って、条件に合ったデータの平均値を簡単に計算する方法を解説します。
【要点】条件付き平均を計算するAVERAGEIF・AVERAGEIFS関数
- AVERAGEIF関数: 単一の条件で平均値を計算します。
- AVERAGEIFS関数: 複数の条件で平均値を計算します。
- 引数の指定: 条件範囲、条件、平均対象範囲の順で指定します。
ADVERTISEMENT
目次
AVERAGEIF・AVERAGEIFS関数で条件付き平均を計算する仕組み
Excelで特定の条件を満たすデータの平均値を求めるには、AVERAGEIF関数とAVERAGEIFS関数が便利です。
AVERAGEIF関数は、1つの条件を指定して平均値を計算します。例えば、「東京」という地域名のデータだけを対象に平均売上を計算する、といった使い方ができます。
一方、AVERAGEIFS関数は、2つ以上の条件を組み合わせて平均値を計算できます。例えば、「東京」という地域名で、かつ「商品A」という商品名のデータだけを対象に平均売上を計算する、といった複雑な条件設定が可能です。
これらの関数は、膨大なデータの中から必要な情報だけを抽出し、分析する際に非常に強力なツールとなります。
AVERAGEIF関数で単一条件の平均を計算する
AVERAGEIF関数は、指定した条件に一致するセルの平均値を計算します。基本的な構文は以下の通りです。
=AVERAGEIF(criteria_range, criteria, [average_range])
各引数の意味は以下の通りです。
- criteria_range: 条件をチェックするセル範囲を指定します。
- criteria: 条件を指定します。数値、文字列、セル参照などが使えます。
- average_range: 平均を計算するセル範囲を指定します。省略すると、criteria_rangeと同じ範囲が対象になります。
AVERAGEIF関数の入力手順
ここでは、例として以下のような売上データがあるとします。
A列に「地域」、B列に「商品名」、C列に「売上」が入力されています。
「東京」の売上の平均値を計算してみましょう。
- 平均値を表示したいセルを選択する
計算結果を表示したいセルをクリックします。 - AVERAGEIF関数を入力する
選択したセルに「=AVERAGEIF(」と入力します。 - 条件範囲を指定する
A列の地域データ範囲(例: A2:A10)をドラッグして選択するか、直接入力します。 - 条件を入力する
カンマ「,」を入力し、条件である「東京」をダブルクォーテーション「”」で囲んで入力します。例:「”東京”」 - 平均対象範囲を指定する
カンマ「,」を入力し、C列の売上データ範囲(例: C2:C10)をドラッグして選択するか、直接入力します。 - 関数を閉じる
閉じ括弧「)」を入力し、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関数の入力手順
先ほどの売上データに、「商品名」の条件を追加してみましょう。
「東京」かつ「りんご」の売上の平均値を計算します。
- 平均値を表示したいセルを選択する
計算結果を表示したいセルをクリックします。 - AVERAGEIFS関数を入力する
選択したセルに「=AVERAGEIFS(」と入力します。 - 平均対象範囲を指定する
C列の売上データ範囲(例: C2:C10)をドラッグして選択するか、直接入力します。 - 最初の条件範囲を指定する
カンマ「,」を入力し、A列の地域データ範囲(例: A2:A10)を選択または入力します。 - 最初の条件を入力する
カンマ「,」を入力し、条件である「東京」をダブルクォーテーション「”」で囲んで入力します。例:「”東京”」 - 2番目の条件範囲を指定する
カンマ「,」を入力し、B列の商品名データ範囲(例: B2:B10)を選択または入力します。 - 2番目の条件を入力する
カンマ「,」を入力し、条件である「りんご」をダブルクォーテーション「”」で囲んで入力します。例:「”りんご”」 - 関数を閉じる
閉じ括弧「)」を入力し、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関数を使えば複数の条件で、それぞれデータの平均値を効率的に算出できます。
これらの関数を使いこなすことで、データ分析の精度を高め、より深い洞察を得られるでしょう。
ぜひ、ご自身の業務でこれらの関数を活用してみてください。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
