複数条件を満たすデータの平均値を求めたい場面は多くあります。例えば、特定の部門の月次売上の平均や、ある期間における特定商品の平均単価などです。AVERAGEIFS関数を使えば、複数の条件を指定して平均を計算できます。本記事では、AVERAGEIFS関数の構文と具体的な使い方を、部門別月次平均の例を交えて解説します。この記事を読めば、複数条件の平均計算を自在に行えるようになります。
【要点】AVERAGEIFS関数で複数条件の平均を計算するポイント
- =AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, …) の構文: 平均対象範囲に数値データ、条件範囲と条件のペアを最大127組まで指定できます。
- 条件にセル参照を使う方法: 条件1に直接値ではなくセル参照を指定することで、条件を動的に変更できます。
- ワイルドカード文字 (*, ?) の使用: 部分一致条件で平均を求める場合、条件内でアスタリスクや疑問符を使えます。
ADVERTISEMENT
目次
AVERAGEIFS関数の基本と仕組み
AVERAGEIFS関数は、複数の条件(AND条件)をすべて満たすセルの平均値を返す関数です。基本構文は「=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], …)」となります。平均対象範囲は数値データが入ったセル範囲、条件範囲は条件をチェックするセル範囲、条件1・条件2はそれぞれの条件を指定します。条件は最大127組まで指定可能で、すべての条件が真となる行の平均対象範囲の値だけが計算に含まれます。たとえば、部門列が「営業部」かつ月列が「1月」の売上平均を求める場合、条件範囲1を部門列、条件1を「営業部」、条件範囲2を月列、条件2を「1月」と指定します。条件がテキストの場合はダブルクォーテーションで囲みます。
AVERAGEIFS関数の具体的な操作手順
ここでは、サンプルデータを使って部門別・月別の売上平均を計算する手順を説明します。次のようなデータがA1からC100にあるとします。
A列:部門(営業部、開発部、管理部)
B列:月(1月、2月、3月)
C列:売上(数値)
基本的なAVERAGEIFS関数の入力
- 結果を表示するセルを選択する
平均値を表示したいセル、たとえばE2セルをクリックします。 - 関数を入力する
「=AVERAGEIFS(C2:C100, A2:A100, “営業部”, B2:B100, “1月”)」と入力します。ここでC2:C100が平均対象範囲、A2:A100が部門の条件範囲、”営業部”が条件1、B2:B100が月の条件範囲、”1月”が条件2です。 - Enterキーを押して確定する
Enterキーを押すと、営業部の1月の売上平均が計算されます。条件を満たすデータがない場合は#DIV/0!エラーが表示されます。
条件にセル参照を使用する方法
- 条件をセルに準備する
たとえばD1セルに「営業部」、E1セルに「1月」と入力します。 - 関数でセル参照を使う
「=AVERAGEIFS(C2:C100, A2:A100, D1, B2:B100, E1)」と入力します。 - 条件セルを変更する
D1やE1の値を変えるだけで、自動的に平均値が再計算されます。複数の条件を切り替えて分析するときに便利です。
ワイルドカードを使った部分一致条件
- アスタリスク(*)で任意の文字列を表す
たとえば部門名に「営業」を含むすべてのデータを対象にしたい場合、条件に「”*営業*”」と指定します。これにより「営業部」「営業課」などが条件に合致します。 - 疑問符(?)で任意の1文字を表す
たとえば月が「1月」「2月」など一桁の月を対象にする場合、条件に「”?月”」と指定します。ただし「10月」など二桁は対象外です。 - チルダ(~)でワイルドカード文字をエスケープする
条件にアスタリスクそのものを含む場合、「~*」と記述します。
AVERAGEIFS関数使用時の注意点とよくある間違い
平均対象範囲と条件範囲のサイズが不一致になっている
平均対象範囲と各条件範囲は、行数と列数が一致している必要があります。範囲のサイズが異なるとエラーは表示されませんが、意図しない結果になります。必ずすべての範囲を同じサイズで指定しましょう。
条件に日付や数値を直接指定するときの注意
日付を条件にする場合、日付シリアル値として扱われます。そのため、条件に「”2023/1/1″」とテキストで指定しても正しく認識されず、DATE関数を使って「DATE(2023,1,1)」と指定する必要があります。数値の場合はそのまま数字を指定しますが、文字列としての数字には注意してください。
空白セルやエラー値が含まれている場合
平均対象範囲に空白セルやエラー値(#N/Aなど)が含まれていると、それらは無視されます。ただし、条件範囲の空白セルは条件として評価されないため、条件を指定する際は注意が必要です。
#DIV/0!エラーが出る場合
条件を満たすデータが1件もないと#DIV/0!エラーが表示されます。この場合は条件を見直すか、IFERROR関数でエラー処理を行いましょう。たとえば「=IFERROR(AVERAGEIFS(…), 0)」とすると、エラー時に0を表示できます。
ADVERTISEMENT
AVERAGEIFSとAVERAGEIF・AVERAGEの比較
| 比較項目 | AVERAGEIFS | AVERAGEIF | AVERAGE |
|---|---|---|---|
| 指定できる条件数 | 複数(最大127) | 1つのみ | なし |
| 条件の論理 | AND(すべての条件を満たす) | 単一条件 | 全データ平均 |
| 平均対象範囲の位置 | 第1引数 | 第3引数(条件範囲、条件の後) | 第1引数 |
| ワイルドカード使用 | 可能 | 可能 | 対象外 |
| 使用場面の例 | 部門+月の平均 | 部門だけの平均 | 全体平均 |
この表からわかるように、複数条件が必要な場合はAVERAGEIFSが最適です。単一条件の場合はAVERAGEIFで十分ですが、条件数が増えるとAVERAGEIFSに統一した方が管理しやすくなります。
まとめ
AVERAGEIFS関数を使えば、複数条件を指定した平均計算が簡単に行えます。本記事では部門別月次平均の例を通して、基本的な構文から条件のセル参照、ワイルドカードの使い方までを解説しました。この関数を活用すれば、営業データの分析や在庫管理など様々な場面で役立ちます。次はSUMIFS関数やCOUNTIFS関数も覚えて、条件付き集計の幅を広げてみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
