Excel Formulas Academy · レッスン

AVERAGEIFで条件に基づいて平均する

指定した条件を満たす値だけの平均を求めます。

レッスン 3/413 ステップ

「AVERAGEIFで条件に基づいて平均する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。

一致する値だけを平均する

SUMIF で合計し、COUNTIF で数えてきました。この仲間の3つ目が AVERAGEIF です。条件を満たす値だけの平均を求めます。

すべての売上を平均する代わりに、East 地域の売上だけ、または50を超えるスコアだけを平均できます。フィルターと平均の計算を、1つのわかりやすい手順にまとめられます。

AVERAGEIF の形式

AVERAGEIF は SUMIF と同じ3つの部分で構成されます。

  • range 検査するセル
  • criteria 条件
  • average_range 平均するセル

range を調べて一致するセルを見つけ、その対応する average_range のセルを平均します。

=AVERAGEIF(range, criteria, average_range)

最初の例

A2:A10 に地域、B2:B10 に金額が入っている場合、East 地域の平均売上を求めるには、列Aで East を検索し、一致する列Bの値を平均します。

内部では SUMIF を COUNTIF で割る処理を行っていますが、AVERAGEIF を使えば、それを1つの読みやすい数式にまとめられます。

=AVERAGEIF(A2:A10, "East", B2:B10)

検索範囲と平均範囲が同じ場合

検査する列と平均したい列が同じ場合は、3番目の引数を省略できます。B2:B10 のうち70を超えるスコアだけを平均するには、次のようにします。

この場合、列Bが検査対象と平均対象の両方になります。average_range を省略すると、スプレッドシートは range を両方に使用します。

=AVERAGEIF(B2:B10, ">70")

条件セルを参照する

ほかの IF 関数と同じように、条件をセルに保存すると柔軟に使えます。D1 に地域名が入っている場合は、条件として D1 を指定します。

これで、1つのセルから平均値を操作できます。D1 を East から West に変更すると、平均もすぐに再計算されます。集計表やダッシュボードの選択欄に最適です。

=AVERAGEIF(A2:A10, D1, B2:B10)

比較条件

AVERAGEIF は、ほかの IF 関数と同じように、引用符内の演算子を受け付けます。100以上の売上だけを平均するには、次のようにします。

  • ">=100" 100以上
  • "<50" 50未満
  • "<>0" 0を除外

最後の条件は、平均を下げてしまう0の値を無視しながら平均できるため、特に便利です。

=AVERAGEIF(B2:B10, ">=100")

演算子とセルを連結する

セルのしきい値を使うには、アンパサンドで演算子とセルを連結します。D1 に基準値が入っている場合は、それより大きい値をすべて平均します。

& によって、">" と D1 の値から条件テキストが作られます。これは SUMIF や COUNTIF で使ったものと同じ連結方法です。

=AVERAGEIF(B2:B10, ">"&D1)

DIV/0 エラーに注意する

AVERAGEIF には、ほかの関数にはない注意点があります。一致する行がない場合は、割る対象がないため #DIV/0! エラーになります。

たとえば、データに存在しない地域の平均を求めると、このエラーが返されます。これは数式が壊れているのではなく、フィルターに一致するセルが0個だったことをスプレッドシートが知らせているのです。

=AVERAGEIF(A2:A10, "North", B2:B10)

一致なしに対処する

一致するものがない場合は、数式を IFERROR で囲み、#DIV/0! の代わりにわかりやすいメッセージを表示します。

これで、存在しない地域には目立つエラーではなく「データなし」と表示されます。カテゴリが一部欠けている場合でも、レポートを整った状態に保てます。

=IFERROR(AVERAGEIF(A2:A10, D1, B2:B10), "No data")

空白は除外され、数えられない

AVERAGEIF は、一致したセルのうち数値が入っているセルだけを平均します。average_range 内の完全に空白のセルは無視されるため、0として扱われません。

これは重要な点です。値が欠けていても、文字どおりの0のように平均を0へ近づけることはありません。0も除外したい場合は、値の列に "<>0" という条件を追加してください。

=AVERAGEIF(B2:B10, "<>0")

応用例:カテゴリ別の平均

見やすい集計表を作ってみましょう。D2、D3、D4 に各カテゴリを入力し、ラベルのセルを参照する AVERAGEIF を1つ作って下方向にコピーします。

これで各行に、そのカテゴリの平均値が表示されます。前のレッスンで作った SUMIF の合計や COUNTIF の件数と並べれば、数式だけで動くコンパクトなレポートになります。

=AVERAGEIF(A:A, D2, B:B)

確認テスト

AVERAGEIF の動作についての理解度を確認しましょう。

まとめ:AVERAGEIF

これで、AVERAGEIF を使って条件付きで平均を求められるようになりました。重要な点は次のとおりです。

  • 順序は range、criteria、average_range です。最後の引数を省略すると、検査範囲自体を平均します。
  • テキスト、数値、">=100" のような演算子を使用できます。
  • 一致するものがないと #DIV/0! エラーになるため、IFERROR で対処します。
  • 空白セルは無視され、0として扱われません。

次は、ワイルドカードを使って部分的なテキストを検索します。

=AVERAGEIF(A2:A10, "East", B2:B10)
無料で開始

AI チューターと学ぶ Excel — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「AVERAGEIFで条件に基づいて平均する」レッスンは無料ですか?

はい。「AVERAGEIFで条件に基づいて平均する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。

「AVERAGEIFで条件に基づいて平均する」で何を学びますか?

指定した条件を満たす値だけの平均を求めます。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Excel Formulas Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「AVERAGEIFで条件に基づいて平均する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このExcel Formulas Academyレッスンでコードを書いて実行できますか?

はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. SUMIFで条件に基づいて合計する
  2. COUNTIFで条件に基づいて数える
  3. AVERAGEIFで条件に基づいて平均する
  4. 条件でワイルドカードを使う
← Excel Formulas Academyに戻る