AVERAGEIFで条件に基づいて平均する
指定した条件を満たす値だけの平均を求めます。
「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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- SUMIFで条件に基づいて合計する
- COUNTIFで条件に基づいて数える
- AVERAGEIFで条件に基づいて平均する
- 条件でワイルドカードを使う