AVERAGEIFS関数の使い方としくみ|草野球成績管理表で「対戦相手×自宅」の平均得点を出す例で解説

関数の使い方

複数の条件をすべて満たす行だけを対象に平均を出したいとき、力を発揮するのがAVERAGEIFS関数です。草野球の成績管理表で「特定の対戦相手×自宅開催」のときだけの平均得点を求める場面を例に、使い方と内部のしくみを解説します。

AVERAGEIFS関数とは

📝 AVERAGEIFS関数の役割(一言でいうと)

複数の条件をすべて満たす行だけを絞り込み、その中の数値だけを平均する関数です。前回のAVERAGEIFが「条件は1つだけ」だったのに対し、AVERAGEIFSは「対戦相手も、開催地も、両方一致する試合だけ」のように条件を重ねて絞り込めるのが特徴です。

基本の書式はこうです。

=AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)

「平均対象範囲」を先頭に置き、そのあとに「条件範囲と条件」のペアを必要な数だけ並べていきます。条件はすべてAND(かつ)で結ばれ、全部の条件に一致した行だけが平均の計算対象になります。

成績管理表での実例:「対戦相手×自宅」での平均得点を出す

大阪グーニーズの試合結果シートには、1試合1行で対戦相手・開催地・得点を記録しているとします。B列に対戦相手、C列に開催地(「自宅」または「アウェイ」)、D列に得点が入っている想定です。

試合日 対戦相手 開催地 得点
4/6 ○○ファイターズ 自宅 6
4/13 ○○ファイターズ アウェイ 2
4/20 ○○ファイターズ 自宅 4

「○○ファイターズとの対戦で、かつ自宅開催のときだけ」の平均得点を求めたいとき、式はこうなります。

✅ 「対○○戦×自宅」の平均得点を求める式
=AVERAGEIFS(D2:D30, B2:B30, "○○ファイターズ", C2:C30, "自宅")

これで「B列が○○ファイターズ、かつC列が自宅」という2つの条件を両方満たす行だけを対象に、D列の得点が平均されます。

実際のデータでどの行が対象になるのか、下の図で確認してみましょう(図では先頭5試合分だけを抜き出しています)。

AVERAGEIFS関数の使い方:対戦相手が○○ファイターズかつ開催地が自宅の試合だけを絞り込み、得点6・4・5の平均5を求める図解 AVERAGEIFS関数の使い方 複数の条件をすべて満たす行だけを絞り込んで平均する fx =AVERAGEIFS(D2:D30, B2:B30, “○○ファイターズ”, C2:C30, “自宅”) 条件範囲1 条件範囲2 平均対象範囲 A B C D 1 試合日 対戦相手 開催地 得点 2 4/6 ○○ファイターズ 自宅 6 3 4/13 ○○ファイターズ アウェイ 2 4 4/20 ○○ファイターズ 自宅 4 5 4/27 △△ブレーブス 自宅 3 6 5/4 ○○ファイターズ 自宅 5 7 対○○ファイターズ・自宅の平均得点 5 2つの条件を両方満たした 3試合(6・4・5)の平均 =AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2) 平均対象範囲を先頭に置き、そのあとに「条件範囲と条件」のペアを必要な数だけ並べます。 例:=AVERAGEIFS(D2:D30, B2:B30, “○○ファイターズ”, C2:C30, “自宅”) → 対○○戦かつ自宅の平均得点 大阪グーニーズ データ解説
AVERAGEIFSで「対○○ファイターズ×自宅」の平均得点を求める(図は先頭5試合分の抜粋)
STEP 1
平均を表示したいセルを選択する

「対○○戦×自宅の平均得点」を表示したい集計欄のセルをクリックして選択します。

STEP 2
「=AVERAGEIFS(」に続けて平均対象範囲を選ぶ

最初の引数には、実際に平均を出したい数値の列(ここではD列の得点)をドラッグで指定します。

STEP 3
「条件範囲, 条件」のペアを条件の数だけ追加する

対戦相手の列と条件、開催地の列と条件、という順にペアで指定していきます。条件を増やしたい場合は、さらに「条件範囲, 条件」を後ろに追加していくだけです。

STEP 4
「)」で閉じてEnterキーで確定する

式を確定すると、条件をすべて満たす行だけの平均得点がセルに表示されます。

しくみを理解する:AVERAGEIFSは何をしているのか

📝 AVERAGEIFSの内部動作

AVERAGEIFSは、ざっくり言うと「まずAND条件で行を絞り込み、そのあとで平均を計算する」という2段階の処理をしています。

  • 1行ずつ、指定したすべての条件範囲・条件を照合していく
  • 1つでも条件に一致しない行があれば、その行はまるごと対象から外れる(部分的に一致でもカウントされない)
  • すべての条件に一致した行だけを集め、その平均対象範囲の数値を「合計÷件数」で平均する
  • 条件はSUMIFS・COUNTIFSと同じ考え方で、標準ではOR(または)条件には対応していない

1行ずつどのように判定されているのか、下の図で追ってみましょう。

AVERAGEIFSの判定のしくみ:各行で条件1と条件2を照合し、両方が○の3行だけを対象に得点6・4・5を平均して5を求める図解 AVERAGEIFSの判定のしくみ 1行ずつ2つの条件を照合し、両方が○の行だけを平均する fx =AVERAGEIFS(D2:D30, B2:B30, “○○ファイターズ”, C2:C30, “自宅”) 対戦相手 条件1 判定 開催地 条件2 判定 AND判定 得点 2 ○○ファイターズ 自宅 対象 6 3 ○○ファイターズ アウェイ × 除外 2 4 ○○ファイターズ 自宅 対象 4 5 △△ブレーブス × 自宅 除外 3 6 ○○ファイターズ 自宅 対象 5 AND判定が「対象」になった3行だけを平均 5 1つでも×があれば、 その行はまるごと対象外 ○が2つ揃った行の得点だけを平均 ( 6 + 4 + 5 ) ÷ 3 = 5 すべての条件に一致した行(ここでは3件)の得点だけを合計し、その件数で割った値が返ります。 一致する行が0件のときは件数が0になるため、#DIV/0! エラーになります。 大阪グーニーズ データ解説
1行ずつAND判定し、すべて○の行だけが平均の対象になる

よくあるミス:AVERAGEIFSでつまずきやすいポイント

⚠️ 原因1:引数の順番をAVERAGEIFと混同する

前回のAVERAGEIFは「条件範囲, 条件, 平均対象範囲」の順でしたが、AVERAGEIFSは「平均対象範囲」が一番最初に来ます。似た名前の関数なのに引数の並び順が違うため、コピーして使い回すときに条件範囲を先頭に置いてしまい、エラーになるケースがよくあります。

⚠️ 原因2:条件に一致する行が0件でエラーになる

シーズン序盤でまだ「自宅開催」の対戦がない、といった場合、条件に一致する行が0件になり、平均対象の件数が0となって「#DIV/0!」エラーが表示されます。データが揃うまでの表示崩れが気になる場合は、後ほど扱うIFERRORとの組み合わせで対処できます。

✅ この記事のまとめ
  • AVERAGEIFSは「複数条件をすべて満たす行だけ」を平均する関数
  • 引数の並びは平均対象範囲が先頭、そのあとに条件範囲と条件のペアが続く(AVERAGEIFとは順番が違う)
  • 条件はすべてANDで結ばれ、一致する行が0件だと#DIV/0!エラーになる

次回予告

次回のテーマは「比較演算子・ワイルドカードの基礎」です。「>=」「<>」「*」といった条件式の書き方のルールを、打数3以上の試合を抽出する例を通して整理していきます。

▶︎ 次回:比較演算子・ワイルドカードの基礎知識

コメント

タイトルとURLをコピーしました