AVERAGEIF関数の使い方・読み方|条件に合うものだけ平均する

執筆者:

カテゴリ:

AVERAGEIF関数の使い方・読み方のイメージ

集計

AVERAGEIF関数の使い方・読み方

Excel関数辞典

読み方:AVERAGEIF は「アベレージイフ」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

AVERAGEIFは、条件に合う行だけの平均を求める関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(24項目)
  1. 書式
  2. 基本の使い方
  3. 条件の書き方
  4. 0を除いた平均
  5. 外れ値を除いた平均
  6. 条件が2つ以上あるとき
  7. #DIV/0! が出る原因
  8. Excelとの違い
  9. 条件付きの平均で気をつけること
  10. 条件が複数あるとき
  11. 平均が実態を表さない場合
  12. 集計表に組み込む
  13. 該当なしの扱いを最初に決める
  14. 加重平均が必要かを見極める
  15. 平均を出す前に確認すること
  16. 「集計」の関数を全体から見る
  17. 数式を書く前の手順
  18. どの関数でも共通する確認
  19. 引き継ぐときに残すこと
  20. このサイトの収録状況
  21. よくある質問
  22. この分野の他の記事
  23. まとめ
  24. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

SUMIF の平均版で、引数の順番も同じです。ExcelとGoogleスプレッドシートで共通です。

AVERAGEIF関数の使い方の記事構成図
AVERAGEIF関数の使い方:この記事で扱う内容

書式

=AVERAGEIF(条件の範囲, 条件, [平均する範囲])
引数内容
条件の範囲条件を判定する列
条件判定の内容。" で囲む
平均する範囲実際に平均する列。省略すると条件の範囲を平均

SUMIF と同じ順番です(条件の範囲が先)。複数条件版の AVERAGEIFS は逆順になるので注意してください。

基本の使い方

AB
1支店売上
2東京1200
3大阪800
4東京1500
=AVERAGEIF(A2:A4, "東京", B2:B4)   → 1350

条件をセル参照にすれば切り替えられます。

=AVERAGEIF(A:A, D1, B:B)
AVERAGEIF関数の使い方の要点図
AVERAGEIF関数の使い方

条件の書き方

条件意味
"東京"完全一致
">1000"1000より大きい
"<>0"0以外
"<>"空欄でない
"東*"「東」で始まる

セルの値と比較するときは & で連結します。

=AVERAGEIF(B:B, ">"&D1)

">D1" と書くと文字列の「D1」を探します。

0を除いた平均

AVERAGEIFの実務で最も便利な使い方がこれです。

AVERAGE は0を1件として数えるため、未入力に0が入っていると平均が下がります。

=AVERAGEIF(A:A, "<>0")

これで0の行を除いた平均が出ます。

空欄でないものだけなら次の形です。

=AVERAGEIF(A:A, "<>")

数式が返した ""(見た目は空欄)も、この書き方なら除外できます。AVERAGE を直接使うより安全です。

外れ値を除いた平均

極端な値を除きたい場合にも使えます。

=AVERAGEIF(A:A, "<10000")

10000未満のものだけで平均を出します。ただし、除外の基準を恣意的に決めると数字を作り込むことになるので、除外した条件は必ず明記してください。

条件が2つ以上あるとき

AVERAGEIFS を使います。引数の順番が逆になる点に注意してください。

=AVERAGEIFS(平均する範囲, 条件範囲1, 条件1, 条件範囲2, 条件2)

例:

=AVERAGEIFS(C:C, A:A, "東京", B:B, ">=1000")

SUMIFS と同じく、平均する範囲が最初です。AVERAGEIFとは逆なので、混同しやすいところです。

条件が1つでもAVERAGEIFSで書くと決めてしまえば、順番の混乱がなくなります。

#DIV/0! が出る原因

条件に合う行が1件もない、という意味です。0で割ることになるので発生します。

原因はほぼ次のどれかです。

  • 条件の文字列にスペースが入っている("東京 ")
  • 全角と半角が違う
  • 数値が文字列になっている
  • 平均する範囲に数値が1つもない

エラーを消す前に、条件が正しいか確認してください。

該当なしが正常なケースなら、IFERROR で包みます。

=IFERROR(AVERAGEIF(A:A, D1, B:B), "該当なし")

0 ではなく「該当なし」と表示するほうが親切です。0だと「平均が0だった」のか「該当がなかった」のか区別できません。

Excelとの違い

AVERAGEIF・AVERAGEIFS ともに共通です。書式も挙動も同じです。

Googleスプレッドシートでは、FILTER と組み合わせる書き方もできます。条件が複雑なときはこちらが読みやすいことがあります。

=AVERAGE(FILTER(C:C, A:A="東京", C:C>0))

グループ別の平均を一度に出したいなら QUERY です。

=QUERY(A:C, "select A, avg(C) group by A", 1)

条件付きの平均で気をつけること

条件を付けて平均を求める関数は、書き方が条件付きの合計とほぼ同じです。引数の順序も同じで、条件範囲、条件、平均を求める範囲の順に並べます。合計との違いは、結果が合計ではなく平均になることだけです。

ただし、平均には合計にはない注意点があります。

第一に、条件に合うものが一件もない場合、ゼロで割ったというエラーが返ります。合計なら零が返るところが、平均ではエラーになります。集計表を作る場合、該当のない区分が必ず出てくるので、エラー回避の処理が必要になります。

第二に、平均の対象になるのは数値だけです。文字列や空欄は除外されます。条件に合う行が十件あっても、そのうち三件が空欄なら、七件の平均になります。これが意図どおりかどうかは、業務の定義によります。

第三に、空欄とゼロの違いです。未入力を空欄で持っているか、ゼロで持っているかによって、平均はまったく変わります。アンケートの集計では、この違いが結果を左右します。

集計表に平均を載せるときは、件数も一緒に載せてください。件数が分からないと、その平均をどれだけ信用してよいか判断できません。


条件が複数あるとき

条件が二つ以上になる場合は、複数の条件を指定できる版の関数を使います。引数の順序が変わり、平均を求める範囲が先頭に来ます。この違いは、条件付きの合計と同じ構造です。

すべての条件範囲は、同じ行数でなければなりません。片方だけ広げると、対応する行がずれます。エラーにならず、もっともらしい数字が返るため、間違いに気づくのが遅れます。

条件はすべて「かつ」で結ばれます。「または」の条件を書きたい場合は、それぞれの条件で合計と件数を求め、最後に割る必要があります。平均同士を足して二で割るのは誤りです。件数が違えば重みが違うためです。

期間で絞る場合は、日付の列を条件範囲として二回指定します。開始日以上と終了日以下の二つです。同じ範囲を二度書くのが正しい書き方です。


平均が実態を表さない場合

平均は、計算そのものは単純ですが、出てきた数字が実態を表しているとは限りません。集計結果を人に見せる立場なら、次の点を意識してください。

極端な値が混ざると、平均は大きく引っ張られます。ほとんどが数千円の取引の中に一件だけ数百万円があれば、平均は実感とかけ離れます。この場合は中央値を併記してください。平均と中央値が大きく離れているなら、分布が偏っている証拠です。

件数が少ない場合も、平均の信頼度は下がります。三件の平均と三百件の平均では、意味がまったく違います。

単位あたりの値を平均する場合は、重みを考える必要があります。店舗ごとの平均単価をさらに平均すると、販売数の違いが無視されます。正しくは、売上の合計を数量の合計で割ります。掛けてから足す関数を使えば、一つの数式で書けます。→ SUMPRODUCT関数の使い方

「平均」という言葉は分かりやすいぶん、誤解も生みやすいものです。何の平均なのかを見出しに明記してください。


集計表に組み込む

条件付きの平均を集計表に組み込む場合、参照の固定が鍵になります。

条件範囲と平均の範囲は表全体で共通なので、完全に固定します。条件として参照する見出しのセルは、行や列に応じて動くようにします。行見出しなら列だけを固定し、列見出しなら行だけを固定します。

該当がない区分ではエラーになるので、全体をエラー回避の関数で包みます。返す値は、空文字にするか、該当なしという文字にするかを決めてください。零を返すと、平均が零であるかのように見えるので避けたほうが無難です。

件数の列も併せて作ってください。条件付きの件数関数を、同じ条件で書くだけです。平均と件数が並んでいれば、読み手が判断を誤りません。

完成したら検算します。各区分の件数を合計して、元データの全件数と一致するかを確認してください。一致しなければ、条件が漏れているか重複しています。


該当なしの扱いを最初に決める

条件付きの平均を集計表に組み込むと、必ず該当のない区分が出てきます。この扱いを最初に決めておくと、表の見た目が安定します。

エラーのまま放置するのは避けてください。表の中にエラーが並ぶと、他の本当のエラーが埋もれます。

零を返すのも避けてください。平均が零であるかのように見えます。金額の集計なら、単価が零という誤解を招きます。

推奨は、該当なしという文字を返すことです。データがないことが明示され、零との区別もつきます。表示としても自然です。

空文字を返す方法もありますが、空欄と区別がつかなくなります。集計漏れなのか該当なしなのかが分からないため、確認の手間が増えます。

どの方針を採るにせよ、表の中で統一してください。区分によって表示が違うと、読み手が混乱します。

件数の列を併せて作っておけば、該当なしの区分が一目で分かります。件数が零なら、平均が計算できないのは当然です。この対応関係が見えていれば、読み手も納得できます。


加重平均が必要かを見極める

条件付きの平均を出すとき、単純な平均でよいかどうかを一度考えてください。単位あたりの値を扱う場合、加重平均が正解であることが多くあります。

たとえば、店舗ごとの平均単価を求めた後、全体の平均単価を出したいとします。店舗ごとの平均をさらに平均すると、販売数の違いが無視されます。販売数が十個の店舗と千個の店舗が、同じ重みで扱われてしまいます。

正しくは、全店舗の売上合計を全店舗の販売数合計で割ります。これが加重平均です。

同じことは、月ごとの達成率、部門ごとの利益率、地域ごとの単価でも起こります。比率や単価を平均する場面では、ほぼ必ず加重平均を検討すべきです。

判断の基準は、その値が「何かで割った結果」かどうかです。割った結果を平均するときは、分子と分母をそれぞれ合計してから割り直します。

掛けてから足す関数を使えば、条件付きの加重平均も一つの数式で書けます。条件式と数量を掛けた合計を、条件式と数量を掛けた合計で割る形です。

この違いを知らずに単純平均を出していると、報告した数字が実態とずれます。指摘されてから気づくと、信頼を損ないます。


平均を出す前に確認すること

平均は扱いやすい数字ですが、そのまま出すと実態とずれることがあります。計算の前に確認したい点があります。

0が含まれていないか

未入力を0で埋めている場合、平均が実態より低く出ます。0を除くか、空白のままにするかを決めてください。

空白セルが何を意味するか

AVERAGE系の関数は空白を無視します。未計測なのか、実績が0なのかで、扱いを変える必要があります。

極端な値が入っていないか

一件の外れ値で平均が大きく動きます。件数が少ない表では特に影響が出ます。

件数が十分か

数件の平均は、増減の判断に使えません。COUNTIFで件数も並べて出しておくと、読み手が誤解しません。

単位が揃っているか

時間と分、円と千円が混在していないかを確認してください。

平均だけでなく、中央値も並べると判断しやすくなります

MEDIAN関数で出せます。二つの差が大きい表は、外れ値の影響を受けています。

「集計」の関数を全体から見る

数値をまとめる関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに48本あります。

記事
ABS
AGGREGATE
AVERAGE
AVERAGEIFS
CEILING
CORREL
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUNTUNIQUE
FLOOR
GEOMEAN
INT
LARGE
MAX
MAXIFS
MEDIAN
MIN
MINIFS
MOD
MODE
PERCENTILE
POWER
PRODUCT
QUARTILE
QUOTIENT
RAND
RANDBETWEEN
RANK
ROUND
ROUNDDOWN
ROUNDUP
SIGN
SMALL
SPARKLINE
SQRT
STDEV
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
TRIMMEAN
TRUNC
VAR

このカテゴリで共通するつまずき

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

先に決めておけば、書くのは数分で終わります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

空欄と0の扱いが結果を左右します。未入力を0で埋めると平均が下がります。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

条件の数で使う関数が変わります。将来増えるなら複数条件に対応する形にしてください。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

うまくいかないときに見る場所は、ほぼ決まっています。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

収録は201本です。カテゴリごとの内訳を出しておきます。

カテゴリ記事数
目的別51本
集計47本 ←この記事
文字列31本
日付19本
検索・参照15本
条件15本
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. ゼロで割ったというエラーが出ます

条件に合う数値が一件もありません。エラー回避の関数で包んでください。

Q. 空欄は計算に含まれますか

含まれません。ゼロは含まれます。この違いが結果を左右します。

Q. 条件が複数あるときは

複数の条件を指定できる版を使ってください。引数の順序が変わり、平均の範囲が先頭に来ます。

Q. 「または」の条件で平均を出したいのですが

平均同士を平均するのは誤りです。それぞれの合計と件数を求め、最後に割ってください。

Q. 中央値も条件付きで出せますか

標準の関数では直接できません。配列を扱う書き方が必要になります。

Q. 非表示の行を除きたいのですが

小計の関数で平均を指定すると、表示されている行だけが対象になります。

Q. 四捨五入したいのですが

丸めの関数で包んでください。表示形式を変えるだけでは内部の値は変わりません。

Q. 件数も一緒に出すべきですか

出してください。件数がないと、その平均をどれだけ信用してよいか判断できません。




この分野の他の記事

同じ「集計」の記事です。目的が近いので、こちらで解決しない場合はこちらも見てください。

まとめ

  • 書式は =AVERAGEIF(条件の範囲, 条件, 平均する範囲)
  • SUMIF と同じ順番。AVERAGEIFS は逆順
  • 0を除いた平均は =AVERAGEIF(A:A, "<>0")
  • #DIV/0! は「条件に合う行が1件もない」という意味
  • エラーを隠す前に、条件のスペース・全角半角を確認する

関連する関数