COUNTIFS・SUMIFSでOR条件を使う方法としくみ|草野球成績管理表で「勝ちor引分」の試合数を出す例で解説

関数の使い方

前回はCOUNTIFS・SUMIFSで使う条件式の書き方を確認しました。今回は、これらの関数で「勝ちまたは引分」のようなOR条件(または条件)を扱いたいときの工夫について解説します。草野球の成績管理表で「勝ちor引分の試合数」を1つの式で求める例をもとに、初心者向けに丁寧に説明します。

COUNTIFS・SUMIFSは本来AND条件専用

📝 COUNTIFS・SUMIFSの前提(一言でいうと)

COUNTIFSやSUMIFSに複数の条件を並べると、それらは自動的に「すべての条件を満たす行だけ」を対象にします。つまり標準の動きはAND条件のみで、「Aまたは条件を満たす行」というOR条件をそのまま指定する書き方は用意されていません。

例えば、次のような式を考えてみます。

=COUNTIFS(E2:E30,"勝ち",E2:E30,"引分")

この式は「E列が勝ちであり、かつ引分でもある行」を数えようとしてしまうため、そのような行は存在せず、結果は必ず0になります。COUNTIFS・SUMIFSに複数条件を並べるほど、それはAND条件として絞り込みが厳しくなっていく、というのが標準の仕組みです。

実際のシートに当てはめると、どの行も対象から外れていく様子が見えてきます。下の図で確認してみましょう。

1つのCOUNTIFSに「勝ち」と「引分」を並べるとAND条件として扱われ、両方を同時に満たす行が存在しないため結果が0になることを示す図解 条件を並べるとAND条件になる 同じ列に「勝ち」と「引分」を並べると、両方を満たす行がないため結果は0になります fx =COUNTIFS(E2:E30,”勝ち”,E2:E30,”引分”) A B C D E 1 試合日 対戦相手 得点 失点 勝敗 2 4/6 ○○ファイターズ 5 3 勝ち 3 4/13 △△ベアーズ 2 6 敗け 4 4/20 □□イーグルス 4 4 引分 30 9/28 ☆☆ライオンズ 3 5 敗け 31 「勝ち」かつ「引分」の試合数 0 2つの条件を同時に満たすか 「勝ち」○ /「引分」✕ → 対象外 「勝ち」✕ /「引分」✕ → 対象外 「勝ち」✕ /「引分」○ → 対象外 (以降の行もすべて同じ) 両方を同時に満たす行が1つもないため 結果は必ず0になります =COUNTIFS(範囲,条件1,範囲,条件2) 条件を並べて書くと「すべての条件を同時に満たす行」だけが対象になります(AND条件)。 例:=COUNTIFS(E2:E30,”勝ち”,E2:E30,”引分”) → 同じ列に相反する条件を並べたため結果は0 大阪グーニーズ データ解説
同じ列に2つの条件を並べるとAND条件になり、結果が0になるしくみ

成績管理表での実例:「勝ちor引分」の試合数を出す

大阪グーニーズの成績管理シートでは、各試合の勝敗結果をE列に「勝ち」「敗け」「引分」のいずれかで記録しているとします。

試合日 対戦相手 得点 失点 勝敗
4/6 ○○ファイターズ 5 3 勝ち
4/13 △△ベアーズ 2 6 敗け
4/20 □□イーグルス 4 4 引分

この表から「勝ちor引分」の試合数、つまり負けなかった試合数を1つの式で求めたいとき、代表的な式はこうなります。

✅ 「勝ちor引分」の試合数を求める式
=COUNTIFS(E2:E30,"勝ち")+COUNTIFS(E2:E30,"引分")

「勝ちの試合数」と「引分の試合数」をそれぞれ別々にCOUNTIFSで数えてから、最後に足し算するという考え方です。COUNTIFS自体にOR条件を持たせるのではなく、AND条件専用のCOUNTIFSを2回使ってから外側で合算する、というのがポイントです。

式がどのような順番で計算されているのか、下の図で見てみましょう。

COUNTIFSを「勝ち」用と「引分」用に分けてそれぞれ数え、2つの結果を足し算することで勝ちor引分の試合数を求める流れを示した図解 別々に数えてから足し算する 条件ごとにCOUNTIFSを分けて数え、外側で合算するとOR条件になります fx =COUNTIFS(E2:E30,”勝ち”)+COUNTIFS(E2:E30,”引分”) A B C D E 1 試合日 対戦相手 得点 失点 勝敗 2 4/6 ○○ファイターズ 5 3 勝ち 3 4/13 △△ベアーズ 2 6 敗け 4 4/20 □□イーグルス 4 4 引分 30 9/28 ☆☆ライオンズ 3 5 敗け 31 「勝ちor引分」の試合数(負けなかった試合数) 19 計算の流れ =COUNTIFS(E2:E30, “勝ち”) 16 =COUNTIFS(E2:E30, “引分”) 3 16 + 3 = 19 2つの結果を足し算します COUNTIFSは1つずつAND条件のまま使い、外側で合算します これで「勝ちまたは引分」というOR条件と同じ結果が得られます =COUNTIFS(範囲,条件1)+COUNTIFS(範囲,条件2) 条件ごとにCOUNTIFSを分けて数え、その結果を足し算してOR条件を再現します。 例:=COUNTIFS(E2:E30,”勝ち”)+COUNTIFS(E2:E30,”引分”) → 負けなかった試合数を求める 大阪グーニーズ データ解説
COUNTIFSを条件ごとに分けて数え、足し算でOR条件を再現する流れ
STEP 1
結果を表示したいセルを選択する

「勝ちor引分」の試合数を表示したいセル(例:成績管理シートの集計欄)をクリックして選択します。

STEP 2
1つ目のCOUNTIFSで「勝ち」の試合数を数える式を入力する

「=COUNTIFS(E2:E30,”勝ち”)」と入力します。範囲はマウスでドラッグして指定するとミスが減ります。

STEP 3
「+」に続けて2つ目のCOUNTIFSを追加する

続けて「+COUNTIFS(E2:E30,”引分”)」と入力します。条件を変えただけの同じ形のCOUNTIFSを、プラス記号でつなぐイメージです。

STEP 4
Enterキーで確定する

確定すると「勝ち」と「引分」を合わせた試合数がすぐに表示されます。

しくみを理解する:なぜ足し算でOR条件になるのか

📝 「別々に数えて合算する」という発想

COUNTIFS(E2:E30,”勝ち”)は「勝ちの試合の集合」、COUNTIFS(E2:E30,”引分”)は「引分の試合の集合」を、それぞれ独立に数えた結果です。この2つの集合は重なりません(1つの試合の勝敗は「勝ち」か「引分」のどちらか一方にしかならないため)。重なりのない2つの集合の件数を足し算すれば、それは自動的に「どちらか一方に当てはまる件数」、つまりOR条件の結果と一致します。

これがCOUNTIFS・SUMIFS自体にOR条件の機能がなくても、複数のAND条件式を組み合わせることでOR条件を再現できる理由です。もう1つの方法として、条件を配列({“勝ち”,”引分”}のように複数まとめたもの)で渡し、SUMで包んで合計するやり方もありますが、考え方の土台は同じで「別々に数えてから合算する」ことに変わりありません。

よくあるミス

⚠️ 原因1:1つのCOUNTIFSに両方の条件を書いてしまう

「=COUNTIFS(E2:E30,”勝ち”,E2:E30,”引分”)」のように、同じ範囲に対して2つの条件を1つのCOUNTIFS内に並べてしまうミスです。これはAND条件として扱われ、両立しない条件同士のため結果が必ず0になります。OR条件にしたいときは、COUNTIFSを分けて外側で合算する必要があります。

⚠️ 原因2:集合が重なる条件で単純に足し算してしまう

今回の例のように条件同士が重ならない場合は足し算で問題ありませんが、例えば「打数3以上の試合」と「安打1以上の試合」のように、1つの試合が両方の条件に当てはまり得る場合、単純な足し算では同じ試合を二重に数えてしまいます。条件同士が重なるかどうかを事前に確認しておくことが大切です。

✅ この記事のまとめ
  • COUNTIFS・SUMIFSに複数条件を並べると、標準ではAND条件(すべて満たす)としてしか扱われない
  • OR条件(またはの条件)にしたいときは、条件ごとにCOUNTIFS・SUMIFSを分けて、最後に足し算する
  • 足し算でOR条件を再現できるのは、条件同士の集合が重ならないことが前提。重なる条件では二重カウントに注意する

次回予告

次回のテーマは「複合条件集計まとめ」です。ここまで見てきたSUMIFS・COUNTIFS・AVERAGEIFSなどの条件付き集計関数を組み合わせて、月別×選手別のクロス集計表を作る実践的な設計の考え方を解説していきます。

▶︎ 次回:複合条件集計まとめ

コメント

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