エクセルで、複数の条件にすべて合うセルの平均を出すには AVERAGEIFS関数を使います。たとえば「A組」で「70点以上」の人の平均は、=AVERAGEIFS(C3:C10,B3:B10,"A",C3:C10,">=70") で 80 と分かります。
最初に平均する範囲を書き、そのあとに「条件範囲」と「条件」の組を並べます。この記事では、AVERAGEIFS関数の基本、同じ列で「以上〜未満」を指定する方法、日付の期間で平均する方法、セル参照、「〜を含む」「〜以外」の条件、該当がないときの対処までを、1つの表で説明します。下の練習ツールで、点数や条件を書き換えて結果の変わり方を試せます。
AVERAGEIFS関数の書き方
| 引数 | 入れるもの | 例 |
|---|---|---|
| 平均対象範囲 | 平均する数値の範囲 | C3:C10(点数) |
| 条件範囲1, 条件1 | 1つ目の条件 | B3:B10, “A” |
| 条件範囲2, 条件2… | 2つ目以降の条件 | C3:C10, “>=70” |
2つの条件に合う平均を出す
手順:G3 に AVERAGEIFS の式を入れて Enter
A 組で、しかも 70 点以上の人だけの平均点を求めます。 G3 に次の式を入力して、Enter キーを押します❶。
=AVERAGEIFS(C3:C10,B3:B10,"A",C3:C10,">=70") "A" 条件1(A 組)C3:C10 条件範囲2(点数)">=70" 条件2(70 以上)C3:C10B3:B10"A"C3:C10">=70"紫に「平均したい列」を最初に入れ、そのあとに「調べる列」と「条件」のペアを並べます。例:部署(A 列)が「営業」で、年(B 列)が 2026 の売上(D 列)の平均
=AVERAGEIFS(D2:D50,A2:A50,"営業",B2:B50,2026) - 条件に合う数値が 1 つも無いと #DIV/0! になります。

確認:80 は A 組で 70 点以上の 3 人の平均

答えは 80 になりました❷。式は、次の順に計算しています。
- 組が「A」で、しかも点数が70 以上の行を探す
⇒ 山田(80)・鈴木(90)・渡辺(70) - その点数を平均する
⇒ (80+90+70)÷3=80
=COUNTIFS(B3:B10,"A",C3:C10,">=70") で 3 人と確かめられます。田中さんの「欠席」は文字なので数えません。▶ この式(G3)を、練習ツールで試す / この式(G10)を、練習ツールで試す
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
AVERAGEIFS関数の使い方|やりたいこと別の式
| やりたいこと | 式(例) | 結果 |
|---|---|---|
| 2つの条件(AND) | =AVERAGEIFS(C3:C10,B3:B10,”A”,C3:C10,”>=70″) | 80 |
| 60以上80未満 | =ROUND(AVERAGEIFS(C3:C10,C3:C10,”>=60″,C3:C10,”<80″),1) | 66.7 |
| 日付の期間 | =AVERAGEIFS(C3:C10,D3:D10,”>=”&DATE(2026,10,1),D3:D10,”<=”&DATE(2026,10,15)) | 75 |
| セルの値を条件に | =AVERAGEIFS(C3:C10,B3:B10,G12,C3:C10,”>=”&G13) | 75 |
| 「〜以外」と組み合わせ | =AVERAGEIFS(C3:C10,B3:B10,”<>A”,C3:C10,”>=70″) | 75 |
| 該当なしのとき | =IFERROR(AVERAGEIFS(…),”該当なし”) | 該当なし |

同じ列で「〜以上〜未満」の平均を出す
60・70・70 の平均は約66.67 で、小数1桁にして 66.7 です。80点ちょうどは「80未満」に入りません。
日付の期間で平均する
10/1〜10/15 に受けたのは山田(80)・佐藤(60)・鈴木(90)・高橋(70)・田中(欠席)です。欠席を除く4人の平均で、結果は 75 です(DATE関数の使い方)。
セルの値を条件にする
G12 が「B」、G13 が 70 なので、B組で70点以上の高橋(70)・中村(80)の平均で 75 です。
「〜を含む」「〜以外」の条件
| 条件 | 式(例) | 結果 |
|---|---|---|
| B組で「藤」を含む | =AVERAGEIFS(C3:C10,B3:B10,”B”,A3:A10,”*藤*”) | 60 |
| A組以外で70点以上 | =AVERAGEIFS(C3:C10,B3:B10,”<>A”,C3:C10,”>=70″) | 75 |
「*藤*」は佐藤(60)と伊藤(空欄)に当てはまり、空欄は除かれるので 60 です。
▶ この式(G7)を、練習ツールで試す / この式(G8)を、練習ツールで試す
条件に合うものがないときの表示を決める
A組に95点以上はいないので、#DIV/0! の代わりに 該当なし と表示されます。
AVERAGEIFS関数がうまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#DIV/0!」になる | 条件に合う数値がない | COUNTIFS関数で件数を確かめる。IFERROR関数で表示を決める。 |
| 「#VALUE!」になる | 範囲の行数がそろっていない | 平均対象範囲と条件範囲を同じ行数にする。 |
| 結果がずれる | AVERAGEIF関数の順番で書いた | 平均対象範囲を先頭に書く。 |
| OR条件で平均したい | AVERAGEIFS関数は AND だけ | FILTER関数で取り出して AVERAGE関数で平均する。 |
AVERAGEIFS関数のよくある質問
条件が1つでも使える?
使えます。=AVERAGEIFS(C3:C10,B3:B10,"A") は AVERAGEIF関数と同じ 80 です。あとで条件を増やす予定なら、最初から AVERAGEIFS関数で書いておくと便利です。
合計や件数を複数条件で出すには?
合計は SUMIFS関数、件数は COUNTIFS関数です(COUNTIFS関数の使い方)。
あわせて読みたい:条件付き集計の関連記事
練習用ファイル:練習用Excelファイル(.xlsx・無料)
