前回はSUMIFで「1つの条件に一致する行だけを合計する」方法を解説しました。今回はその発展形、複数の条件を同時に満たす行だけを合計するSUMIFS関数について、対戦相手×年度別の得点合計を例に解説します。
SUMIFS関数とは
複数の条件をすべて満たす行だけを対象に、数値を合計する関数です。SUMIFが「条件1つ」だったのに対し、SUMIFSは「条件2つ以上」を同時にチェックできます。成績管理表では「対戦相手が○○で、かつ年度が2025年」のような、条件を掛け合わせた集計をしたい場面で登場します。
基本の書式はこうです。
=SUMIFS(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
SUMIFと書式の順番が違う点に注意してください。SUMIFは「条件範囲, 条件, 合計範囲」の順でしたが、SUMIFSは先に合計したい範囲を書き、そのあとに条件のペアを並べていく順番になります。条件のペアは2組でも3組でも、必要なだけ追加できます。
成績管理表での実例:対戦相手×年度別の得点合計を出す
大阪グーニーズの「試合結果」シートには、1試合1行の形式で成績を記録しているとします。B列に年度、C列に対戦相手、D列にその試合の得点が入っているとします。
| 試合日 | 年度 | 対戦相手 | 得点 |
|---|---|---|---|
| 4/6 | 2025 | ○○ファイターズ | 5 |
| 6/14 | 2025 | ○○ファイターズ | 3 |
| 5/3 | 2024 | ○○ファイターズ | 2 |
| … | … | … | … |
この表から「2025年に○○ファイターズと対戦した試合の得点合計」だけを求めたいとき、式はこうなります。
=SUMIFS(D2:D200, B2:B200, 2025, C2:C200, "○○ファイターズ")
この式は「B列が2025で、なおかつC列が○○ファイターズになっている行」だけを対象に、D列(得点)を合計します。条件範囲をB2:B200やD2:D200と広めに取っておけば、試合数が増えても式を書き直す必要がありません。
対戦相手×年度別の得点合計を表示したい集計欄をクリックして選択します。
まず合計したい列(得点のD列)をドラッグします。ここがSUMIFと順番が入れ替わっている部分なので、慣れるまでは書式をその都度見返すと安心です。
「条件範囲, 条件」のペアを、必要な条件の数だけ続けて入力します。今回は年度の条件と対戦相手の条件の、2組を追加します。
式を確定すると、条件をすべて満たす行の合計値がセルに表示されます。
しくみを理解する:SUMIFSは何をしているのか
SUMIFSは、指定されたすべての条件をAND条件(かつ)として扱います。1行ずつ見ていき、条件1・条件2・条件3……のすべてに一致したときだけ、その行の値を合計に加えます。1つでも条件から外れる行は、無視されて合計に含まれません。
- 条件範囲はすべて同じ行数にする必要がある(B2:B200とC2:C200とD2:D200のように、開始行・終了行を揃える)
- 条件範囲の行数が範囲ごとにズレていると、エラーになったり意図しない集計結果になったりする
- 条件の数は2つ以上いくつでも増やせるが、増やすほど「すべてに一致」のハードルが上がり、該当行が0件になりやすくなる
よくあるミス:合計が0になる・範囲エラーになる原因
合計範囲がD2:D200なのに、条件範囲の1つがB2:B150になっているようなケースです。範囲の行数が一致しないと、SUMIFSはエラーを返します。範囲をコピーして条件範囲を作るときは、開始行・終了行が全て同じになっているか確認してください。
「○○ファイターズ」のつもりで入力していても、実際のセルには「○○ファイターズ 」のように余分な空白が入っていたり、全角・半角が混在していたりすると、条件に一致せず合計が0になります。この記事より先の回(SUBSTITUTE・TRIM)で扱う表記ゆれの補正と合わせて対策すると安定します。
- SUMIFSは「複数条件をすべて満たす行だけ」を対象に合計する関数
- 書式は合計範囲が先、条件のペアが後という順番(SUMIFとは逆)
- 条件範囲はすべて同じ行数に揃えることが必須
次回予告
次回のテーマは「COUNTIFS関数」です。SUMIFSと構文がよく似た、複数条件でのカウントの仕組みを、「先発かつ勝利」の試合数を数える例で解説していきます。
▶︎ 次回:COUNTIFS関数の使い方としくみ


コメント