AVERAGEIF関数の使い方|条件に合う行だけ平均する
※写真はイメージです
書き方はこれだけ
=AVERAGEIF(条件を探す範囲, 条件, 平均する範囲)AVERAGEIFは、条件に合う行の数字だけで平均を出す関数です。支店ごとの平均売上、男女別の平均点、0を除いた平均などに使います。書き方はSUMIFとまったく同じで、合計が平均に変わるだけです。条件が2つ以上なら AVERAGEIFS を使います。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
よく使う例
| やりたいこと | 式 |
|---|---|
| 支店ごとの平均売上 | =AVERAGEIF($A$2:$A$100,D2,$B$2:$B$100) |
| 0を除いた平均(休んだ日を入れない) | =AVERAGEIF(B2:B31,"<>0") |
| 70点以上の人だけの平均 | =AVERAGEIF(B2:B40,">=70") |
| 東京で、かつ11月の平均(条件2つ) | =AVERAGEIFS(C:C,A:A,"東京",B:B,"11月") |
2つ目と3つ目の例のように、条件を探す範囲と平均する範囲が同じなら、3つ目は省略できます。
AVERAGEIFSは、書く順番が違う
| 関数 | 書く順番 |
|---|---|
| AVERAGEIF | 条件を探す範囲 → 条件 → 平均する範囲(最後) |
| AVERAGEIFS | 平均する範囲(最初) → 条件を探す範囲1 → 条件1 → 範囲2 → 条件2 … |
ここがいちばん間違えやすいところです。AVERAGEIFSは「平均する範囲」が先頭に来ます。SUMIFとSUMIFSも同じ並びなので、片方を覚えればもう片方も同じです。
うまくいかないとき
1#DIV/0! になる
条件に合う行が1つもないので、平均が出せません。
直し方条件のつづりを確かめます。合う行がないときは空欄にしたいなら =IFERROR(AVERAGEIF(…),"")。
2平均が思ったより低い
0が入っている行も平均に入っています(空欄は入りません)。
直し方0を除くなら、条件に "<>0" を使います。
3下にコピーしたら範囲がずれた
範囲に $ が付いていません。
直し方範囲を選んで F4 キーで固定します。
サンプルファイルで試す
黄色のセルにAVERAGEIFの式を入れて、「答え」のシートと比べてください。
averageif.xlsx をダウンロード(無料・登録なし)
よくある質問
AVERAGEIF関数とは?
条件に合う行の数字だけで平均を出す関数です。=AVERAGEIF(条件を探す範囲,条件,平均する範囲) と書きます。
0を除いて平均するには?
=AVERAGEIF(範囲,"<>0") で、0の行を除いた平均が出ます。
AVERAGEIFとAVERAGEIFSの違いは?
AVERAGEIFSは条件を2つ以上指定でき、書く順番は平均する範囲が最初になります。
AVERAGEIFが#DIV/0!になります
条件に合う行が1つもありません。条件のつづりや範囲を確かめてください。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報