スプレッドシートでデータを管理していると、特定の条件を満たす行の平均だけを計算したい場面があります。例えば、商品カテゴリごとの平均売上や、部署ごとの平均評価を求めたいときです。そんなときに便利なのがAVERAGEIF関数です。この記事では、AVERAGEIF関数の基本的な使い方から応用例、注意点までを詳しく解説します。
【要点】AVERAGEIF関数で条件に合ったデータの平均を計算する方法
- =AVERAGEIF(範囲, 条件, [平均範囲]): 基本的な構文で、条件に一致するセルの平均を求めます。
- 条件に「>50」や「”東京”」などを指定: 数値や文字列の条件を柔軟に設定できます。
- 平均範囲を省略すると範囲がそのまま平均対象: 数値データが範囲内にある場合に便利です。
- ワイルドカード(?や*)を使った部分一致: 曖昧な条件にも対応できます。
- エラーになる場合の対処法: 条件に合うデータがない場合は#DIV/0!エラーが出ます。
ADVERTISEMENT
目次
AVERAGEIF関数の概要と基本構文
AVERAGEIF関数は、指定した条件に合致するセルの平均値を返す関数です。条件は数値、式、文字列で指定できます。構文は「=AVERAGEIF(範囲, 条件, [平均範囲])」です。第1引数の「範囲」は条件をチェックするセル範囲を指定します。第2引数の「条件」には「”>100″」や「”東京”」のように文字列で条件を記述します。第3引数の「平均範囲」は実際に平均を計算するセル範囲で、省略すると「範囲」がそのまま平均対象になります。この関数を使うには、平均対象のセルが数値である必要があります。条件に合うセルが1つもない場合は「#DIV/0!」エラーが発生します。
実際にAVERAGEIF関数を使ってみよう
基本例:単一条件で平均を計算する
- データを準備する
例えば、A列に支店名、B列に売上金額が入力された表を用意します。 - 条件をセルに指定する
任意のセル(例:E1)に「東京」と入力します。 - AVERAGEIF関数を入力する
平均を表示したいセルに「=AVERAGEIF(A2:A100, E1, B2:B100)」と入力します。これで東京支店の平均売上が計算されます。
数値条件で平均を計算する
- データを確認する
C列にテストの点数が入力されているとします。 - AVERAGEIF関数を入力する
「=AVERAGEIF(C2:C100, “>=80”)」と入力します。これで80点以上のデータの平均点が算出されます。平均範囲を省略しているため、条件の範囲C2:C100がそのまま平均対象になります。
ワイルドカードを使った部分一致
- データを準備する
D列に商品名、E列に価格が入力されています。 - ワイルドカードを含む条件を指定する
「A」で始まる商品の平均価格を求めるには、「=AVERAGEIF(D2:D100, “A*”, E2:E100)」と入力します。「*」は任意の文字列を表します。また、「?」は任意の1文字を表し、「???」とすると3文字の文字列にマッチします。
別セルの値を条件に利用する
- 条件を入力するセルを用意する
F1に条件となる支店名を入力します。 - 関数にセル参照を組み込む
「=AVERAGEIF(A2:A100, F1, B2:B100)」と入力します。これでF1の値が動的に変化し、条件も自動で変わります。 - 比較演算子とセル参照を組み合わせる
「=AVERAGEIF(B2:B100, “>=”&G1)」とすれば、G1の値以上の平均を計算できます。文字列連結には「&」を使います。
AVERAGEIF関数を使用する際の注意点
条件に合うデータが存在しない場合
条件に一致するセルが1つもないと「#DIV/0!」エラーが表示されます。これを防ぐにはIFERROR関数でラップします。「=IFERROR(AVERAGEIF(A2:A100, “東京”, B2:B100), 0)」とすれば、エラー時に0を表示できます。別の方法として「=IF(COUNTIF(A2:A100, “東京”)=0, “該当なし”, AVERAGEIF(A2:A100, “東京”, B2:B100))」のように条件判定することも可能です。
条件に使用する引用符のルール
文字列条件は必ずダブルクォーテーションで囲みます。数値条件で不等号を使う場合も「”>=80″」のように引用符が必要です。セル参照を条件に使う場合は引用符は不要ですが、比較演算子と組み合わせる場合は「”>=”&G1」のように半分だけ引用符で囲みます。
平均範囲に数値以外のデータが含まれる場合
平均範囲に文字列や空白セルが含まれていても、AVERAGEIF関数は自動的にそれらを無視して数値のみで計算します。ただし、平均範囲にエラー値(#N/Aなど)が含まれていると、その行が条件に合致した場合に結果がエラーになります。事前にエラーをクリーンアップすることをおすすめします。
比較演算子の正しい書き方
条件に「>=10」と記述する場合は「”>=10″」とします。大なり小なり記号を逆向きにしないように注意してください。また、「=」だけの条件(「=”東京”」と書く必要はなく、「”東京”」だけで結構です。
ADVERTISEMENT
AVERAGEIFとAVERAGEIFS、AVERAGEの違い
| 関数名 | 特徴 | 使用例 |
|---|---|---|
| AVERAGE | すべての数値の平均を計算する。条件指定は不可 | =AVERAGE(A1:A10) |
| AVERAGEIF | 単一の条件に合う数値の平均を計算する | =AVERAGEIF(A1:A10, “>5”) |
| AVERAGEIFS | 複数の条件すべてに合う数値の平均を計算する | =AVERAGEIFS(C1:C10, A1:A10, “東京”, B1:B10, “>100”) |
まとめ
AVERAGEIF関数を使いこなすことで、特定の条件を満たすデータの平均値を簡単に計算できるようになります。基本構文は「=AVERAGEIF(範囲, 条件, [平均範囲])」であり、条件には文字列・数値・ワイルドカードが使えます。また、エラーが発生した場合はIFERROR関数と組み合わせると実用的です。より複雑な条件が必要な場合は、AVERAGEIFS関数を試してみてください。日々のデータ分析にぜひ活用してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
