データ分析で「特定のカテゴリだけの平均値を求めたい」と感じることはありませんか。例えば、商品カテゴリごとの平均売上や、クラスごとの平均点を算出したい場合です。GoogleスプレッドシートのAVERAGEIF関数を使えば、条件に合うセルだけを対象に平均値を簡単に計算できます。この記事では、AVERAGEIF関数の基本的な書き方から、実際の業務で役立つ応用テクニックまでをわかりやすく解説します。
【要点】AVERAGEIF関数を使って条件付き平均を計算する3つのポイント
- =AVERAGEIF(条件範囲, 条件, 平均範囲)の基本構文: 条件範囲で指定した条件に合致する行の平均範囲の数値の平均を計算します。
- 条件に「果物」や「>100」などの文字列や比較演算子を指定: 文字列はダブルクォーテーションで囲み、比較演算子を使う場合は「”>100″」のようにセル参照と組み合わせます。
- 複数条件が必要な場合はAVERAGEIFS関数を使います: AVERAGEIFは1つの条件しか指定できません。2つ以上の条件を組み合わせる場合はAVERAGEIFS関数を使用します。
ADVERTISEMENT
目次
AVERAGEIF関数の基本と仕組み
AVERAGEIF関数は、指定した条件に合致するセルの平均値を計算する関数です。構文は「=AVERAGEIF(条件範囲, 条件, 平均範囲)」となり、条件範囲と平均範囲は同じ行数である必要があります。条件には数値、文字列、論理値のほか、比較演算子(> < = <>)も使えます。例えば、売上データから「果物」カテゴリの平均売上を求める場合、条件範囲にカテゴリ列、条件に「”果物”」、平均範囲に売上列を指定します。この関数を使うことで、大量のデータから目的のグループだけを抽出して平均を出す作業が数秒で完了します。手作業でフィルタをかけて平均を計算する手間を大幅に削減できる点が大きなメリットです。
AVERAGEIF関数を使って条件付き平均を計算する手順
ここでは、サンプルデータとして「商品名」「カテゴリ」「売上」の3列があるシートを例に、カテゴリごとの平均売上を計算する手順を説明します。データは2行目から11行目まで入力されていると仮定します。
- 平均結果を表示するセルを選択する
例えば、セルE2を選択します。ここにカテゴリ「果物」の平均売上を表示します。 - 数式を入力する
「=AVERAGEIF(B2:B11,”果物”,C2:C11)」と入力します。条件範囲にカテゴリ列(B2:B11)、条件に文字列「果物」、平均範囲に売上列(C2:C11)を指定します。 - Enterキーを押して確定する
数式が確定すると、カテゴリが「果物」の売上だけの平均値が表示されます。同様に「野菜」や「飲料」などの条件に変えるだけで、各カテゴリの平均値を簡単に求められます。 - 条件にセル参照を使う(応用)
条件を直接入力する代わりに、別のセルに条件を書いて参照することもできます。例えば、セルD2に「果物」と入力し、数式を「=AVERAGEIF(B2:B11,D2,C2:C11)」とします。条件を変えるだけで平均値を更新できるので、複数の条件を切り替えて分析するのに便利です。
AVERAGEIFを使用する際の注意点とよくあるトラブル
条件に比較演算子を使う場合はダブルクォーテーションで囲む
例えば、売上が100以上の平均を求めたい場合、「=AVERAGEIF(C2:C11,”>=100″)」のように条件を文字列として指定します。このとき、条件範囲と平均範囲が同じ場合は、平均範囲を省略できます。間違った書き方として「=AVERAGEIF(C2:C11,>=100)」としてしまうとエラーになりますので注意してください。セル参照と組み合わせる場合は「=AVERAGEIF(C2:C11,”>=”&D2)」とします。D2に100と入力しておきます。
条件範囲と平均範囲の行数が合わないとエラーになる
条件範囲と平均範囲の行数は同じでなければなりません。例えば、条件範囲をB2:B11、平均範囲をC2:C10とすると、行数が異なるため#VALUE!エラーが発生します。必ず同じ行数になるように指定してください。また、範囲内に空白セルや文字列が含まれていても問題ありませんが、平均範囲内の数値以外のセルは無視されます。
空のセルや文字列が条件に合致する場合の挙動
条件に「””」(空文字)を指定すると、空白セルが条件に合致します。ただし、空白セルは平均計算の対象外となるため、平均値は0で除算されることはありません。文字列の条件は完全一致が基本ですが、ワイルドカード(?や*)も使用可能です。例えば、「”果*”」とすると「果物」「果実」など「果」で始まるすべての文字列が条件に合致します。「?」は任意の1文字にマッチします。
AVERAGEIFとAVERAGEIFSの使い分け
AVERAGEIFは1つの条件しか指定できません。複数条件(例:カテゴリが「果物」かつ売上が100以上)の平均を求めたい場合、AVERAGEIFS関数を使用します。構文は「=AVERAGEIFS(平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)」です。例えば、=AVERAGEIFS(C2:C11, B2:B11, “果物”, C2:C11, “>=100”) とします。AVERAGEIFSでは平均範囲が最初にくる点に注意してください。
ADVERTISEMENT
AVERAGEIFと類似関数の比較
条件付き平均を計算する関数としてAVERAGEIFとAVERAGEIFSがあります。また、条件付き合計にはSUMIF、条件付きカウントにはCOUNTIFがあります。ここでは、これらの関数の違いを比較表にまとめました。
| 関数 | 役割 | 条件の数 | 引数の順序 |
|---|---|---|---|
| AVERAGEIF | 1つの条件に合うセルの平均を計算 | 1つ | 条件範囲, 条件, 平均範囲 |
| AVERAGEIFS | 複数の条件すべてに合うセルの平均を計算 | 複数(最大127) | 平均範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, … |
| SUMIF | 1つの条件に合うセルの合計を計算 | 1つ | 条件範囲, 条件, 合計範囲 |
| COUNTIF | 1つの条件に合うセルの個数をカウント | 1つ | 範囲, 条件 |
まとめ
この記事では、AVERAGEIF関数を使って特定カテゴリの平均値を計算する方法を解説しました。基本構文を覚えれば、データのグループごとの平均を瞬時に求められるようになります。条件にセル参照や比較演算子を使いこなすことで、より柔軟な分析が可能です。また、複数条件が必要な場合はAVERAGEIFS関数を組み合わせることで対応できます。次に、日付範囲を条件に加えた平均や、ワイルドカードを使った部分一致の条件も試してみると、データ分析の幅がさらに広がります。ぜひ実際のデータでAVERAGEIF関数を活用してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
