集計
AVERAGEIF関数の使い方・読み方
読み方:AVERAGEIF は「アベレージイフ」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
AVERAGEIFは、条件に合う行だけの平均を求める関数です。
このページの中身(24項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
AVERAGEIF(条件範囲, 条件, [平均範囲])
https://support.google.com/docs/answer/3256529 - Microsoft サポート:AVERAGEIF 関数
https://support.microsoft.com/ja-jp/excel/functions/averageif-function
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
SUMIF の平均版で、引数の順番も同じです。ExcelとGoogleスプレッドシートで共通です。

書式
=AVERAGEIF(条件の範囲, 条件, [平均する範囲])
| 引数 | 内容 |
|---|---|
| 条件の範囲 | 条件を判定する列 |
| 条件 | 判定の内容。" で囲む |
| 平均する範囲 | 実際に平均する列。省略すると条件の範囲を平均 |
SUMIF と同じ順番です(条件の範囲が先)。複数条件版の AVERAGEIFS は逆順になるので注意してください。
基本の使い方
| A | B | |
|---|---|---|
| 1 | 支店 | 売上 |
| 2 | 東京 | 1200 |
| 3 | 大阪 | 800 |
| 4 | 東京 | 1500 |
=AVERAGEIF(A2:A4, "東京", B2:B4) → 1350
条件をセル参照にすれば切り替えられます。
=AVERAGEIF(A:A, D1, B:B)

条件の書き方
| 条件 | 意味 |
|---|---|
"東京" | 完全一致 |
">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本あります。
このカテゴリで共通するつまずき
空欄と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件もない」という意味- エラーを隠す前に、条件のスペース・全角半角を確認する