ADVERTISEMENT

【Googleスプレッドシート】AVERAGEIF関数で条件付き平均を計算!特定カテゴリの平均値

【Googleスプレッドシート】AVERAGEIF関数で条件付き平均を計算!特定カテゴリの平均値
🛡️ 超解決

スプレッドシートでデータを管理していると、特定の条件を満たす行の平均だけを計算したい場面があります。例えば、商品カテゴリごとの平均売上や、部署ごとの平均評価を求めたいときです。そんなときに便利なのがAVERAGEIF関数です。この記事では、AVERAGEIF関数の基本的な使い方から応用例、注意点までを詳しく解説します。

【要点】AVERAGEIF関数で条件に合ったデータの平均を計算する方法

  • =AVERAGEIF(範囲, 条件, [平均範囲]): 基本的な構文で、条件に一致するセルの平均を求めます。
  • 条件に「>50」や「”東京”」などを指定: 数値や文字列の条件を柔軟に設定できます。
  • 平均範囲を省略すると範囲がそのまま平均対象: 数値データが範囲内にある場合に便利です。
  • ワイルドカード(?や*)を使った部分一致: 曖昧な条件にも対応できます。
  • エラーになる場合の対処法: 条件に合うデータがない場合は#DIV/0!エラーが出ます。

ADVERTISEMENT

AVERAGEIF関数の概要と基本構文

AVERAGEIF関数は、指定した条件に合致するセルの平均値を返す関数です。条件は数値、式、文字列で指定できます。構文は「=AVERAGEIF(範囲, 条件, [平均範囲])」です。第1引数の「範囲」は条件をチェックするセル範囲を指定します。第2引数の「条件」には「”>100″」や「”東京”」のように文字列で条件を記述します。第3引数の「平均範囲」は実際に平均を計算するセル範囲で、省略すると「範囲」がそのまま平均対象になります。この関数を使うには、平均対象のセルが数値である必要があります。条件に合うセルが1つもない場合は「#DIV/0!」エラーが発生します。

実際にAVERAGEIF関数を使ってみよう

基本例:単一条件で平均を計算する

  1. データを準備する
    例えば、A列に支店名、B列に売上金額が入力された表を用意します。
  2. 条件をセルに指定する
    任意のセル(例:E1)に「東京」と入力します。
  3. AVERAGEIF関数を入力する
    平均を表示したいセルに「=AVERAGEIF(A2:A100, E1, B2:B100)」と入力します。これで東京支店の平均売上が計算されます。

数値条件で平均を計算する

  1. データを確認する
    C列にテストの点数が入力されているとします。
  2. AVERAGEIF関数を入力する
    「=AVERAGEIF(C2:C100, “>=80”)」と入力します。これで80点以上のデータの平均点が算出されます。平均範囲を省略しているため、条件の範囲C2:C100がそのまま平均対象になります。

ワイルドカードを使った部分一致

  1. データを準備する
    D列に商品名、E列に価格が入力されています。
  2. ワイルドカードを含む条件を指定する
    「A」で始まる商品の平均価格を求めるには、「=AVERAGEIF(D2:D100, “A*”, E2:E100)」と入力します。「*」は任意の文字列を表します。また、「?」は任意の1文字を表し、「???」とすると3文字の文字列にマッチします。

別セルの値を条件に利用する

  1. 条件を入力するセルを用意する
    F1に条件となる支店名を入力します。
  2. 関数にセル参照を組み込む
    「=AVERAGEIF(A2:A100, F1, B2:B100)」と入力します。これでF1の値が動的に変化し、条件も自動で変わります。
  3. 比較演算子とセル参照を組み合わせる
    「=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

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。