Notice: 関数 _load_textdomain_just_in_time が誤って呼び出されました。cocoon ドメインの翻訳の読み込みが早すぎました。これは通常、プラグインまたはテーマの一部のコードが早すぎるタイミングで実行されていることを示しています。翻訳は init アクション以降で読み込む必要があります。 詳しくは WordPress のデバッグをご覧ください。 (このメッセージはバージョン 6.7.0 で追加されました) in /home/xs182025/consulting-campus.site/public_html/wp-includes/functions.php on line 6114
COUNTIFSで複数条件からAND/OR(または)を使う【Excel】 | CONSULTING CAMPUS

COUNTIFSで複数条件からAND/OR(または)を使う【Excel】

use-countifs-with-conditions-of-and-or エクセル
この記事は約7分で読めます。
スポンサーリンク

Excel (エクセル) のCOUNTIFS関数は、特定の条件を満たすセルの数をカウントするのに使用する関数です。本記事では、複数または同じ列から AND (かつ) 条件及びOR (または) 条件を組み合わせてカウントする方法を解説します。

スポンサーリンク

結論: COUNTIFSで複数条件からAND/OR(または)を使用する方法

ExcelのCOUNTIFS関数を使用して、複数の条件を組み合わせる方法は以下の通りです。関数例と詳細な説明は該当セクションで行っており、それぞれクリックでジャンプします。

複数の値からAND (かつ) 条件でCOUNTIFSを使用する方法

こちらのセクションでは、AND (かつ) 条件で特定の条件を満たすセルをCOUNTIFSでカウントする方法をご紹介します。AND (かつ) 条件とは全ての条件を同時に満たす場合を指し、例えば、クラスがA組であり、かつ性別が男性である人数のような場合を表します。

クラスがA組である、かつ性別が男性である人数
クラスがA組である、かつ性別が男性である人数

COUNTIFSでは、AND (かつ) 条件を簡単に実装することができます。というのも、関数自体がAND条件で全ての条件を満たす場合のカウントを行うため、条件が複数存在する場合は追加で (列, 条件) の順に引数を追加していけばOKです。以下のセクションで実際の数式を例に解説していきます。

(確認) COUNTIFS関数の使い方

本題に入る前に、ここではCOUNTIFS関数の使い方をご紹介します。基本的な文法を抑えた上で、AND (かつ) 条件でCOUNTIFSのカウントを行う方法を確認してください。

  • 構文:
    COUNTIFS(カウント範囲1, 条件範囲1, 条件1, [条件範囲2], [条件2], ...)
  • 各引数の説明:
    引数説明
    カウント範囲1必須セル数をカウントする範囲
    条件範囲1必須集計対象の行または列を判定するための範囲
    条件1必須集計範囲に対して設定する条件
    条件範囲2省略可2つ目以降の条件範囲
    条件2省略可2つ目以降の条件
  • 参考: マイクロフト公式ドキュメント
補足: 各範囲は同じ数の行と列を持つ必要があります。

AND (かつ) 条件でCOUNTIFSを使用する具体例

ここでは、先の例と同様にクラスがA組であり、かつ性別が男性である人数をカウントする方法をご紹介します。B列にクラス・D列に性別を示す列がある場合には、下記のようにAND (かつ) 条件でCOUNTIFSを使用することができます。

=COUNTIFS(B3:B12, "A組", D3:D12, "男性")
AND (かつ) 条件でCOUNTIFSを使用する具体例

条件を追加する場合は、後ろに検索範囲と検索条件を追加してください。例えば、さらに、身長が170以上という条件を追加すると下記のような数式となります。

=COUNTIFS(B3:B12, "A組", D3:D12, "男性", C3:C12, ">=170")

複数の値からOR (または) 条件でCOUNTIFSを使用する方法

次に、こちらのセクションでは、OR (または) 条件で特定の条件を満たすセルをCOUNTIFSでカウントする方法をご紹介します。OR (または) 条件とはどちらか1つ以上の条件を満たす場合を指し、例えば、クラスがA組である、または性別が男性である人数のような場合を表します。

クラスがA組である、または性別が男性である人数のイメージ図
クラスがA組である、または性別が男性である人数のイメージ図

特にこの集計をエクセルで実装する場合、下記のようにOR (または) 条件を適用する列のパターン別にCOUNTIFS関数の使い分けて実装することができます。

別の列で、OR (または) 条件をCOUNTIFS関数で実装する

まず初めに、別の列でOR (または) 条件を実装するイメージを解説します。ここでは、下記のようなステップで実装していきます。

クラスがA組である、かつ性別が男性である人数のイメージ図
クラスがA組である、かつ性別が男性である人数のイメージ図

別の列でOR (または) 条件をCOUNTIFSで集計する場合については上のイメージ通りに3つの数式を足し算・引き算していく方法となります。具体例は下記のとおりです。

=COUNTIFS(B3:B12, "A組")+COUNTIFS(D3:D12, "男性")-COUNTIFS(B3:B12, "A組", D3:D12, "男性")
別の列で、OR (または) 条件をCOUNTIFS関数で実装する例

同じ列で、OR (または) 条件をCOUNTIFS関数で実装する

同じ列で、OR (または) 条件をCOUNTIFS関数で実装する場合、通常クラスがA組である、またはB組である人数を求めるような場合が考えられます。同じ列で考える場合、重複する値が存在しないため、単純に足し算で合計することができます。計算方法は同じになるものの、下記の2パターンで記述する方法をご紹介します。

複数回同様の数式を書いて OR (または) 条件を合計する方法

複数回同様の数式を書いて合計する方法では、COUNTIFまたはCOUNTIFS関数を複数回使用して、それぞれの条件に合致するセル数を個別にカウントします。その後、これらの結果を合計して全体のカウントを得ます。例えば、B列で「A組」または「B組」をカウントしたい場合、以下のようになります。

=COUNTIFS(B3:B12, "A組")+COUNTIFS(B3:B12, "B組")
'または
=SUM(COUNTIFS(B3:B12, "A組"), COUNTIFS(B3:B12, "B組"))
複数回同様の数式を書いて OR (または) 条件を合計する方法

こちらの方法は一見何の問題もないように見受けられますが、下記の観点からエクセル上級者には次に紹介するスピルを使用してCOUNTIFSでOR (または) 条件を使用する方法をおすすめします。

  • 数式が長くなり可読性が低い:
    複数のAND (かつ) 条件と OR (または) 条件を組み合わせてカウントする場合を想像してください。例えば、男性かつ身長170以上の中で、A組またはB組の人をカウントする際には下記のような数式となり、同じ記述が重複していることがわかります
    =COUNTIFS(B3:B12, "A組", D3:D12, "男性", C3:C12, ">=170")+COUNTIFS(B3:B12, "B組", D3:D12, "男性", C3:C12, ">=170")
  • 条件追加の際に数式を書き換える必要があり拡張性が低い:
    実際の例ではクラスとして含めるOR (または) 条件にC組、D組…と複数の条件を追加してく場合に同じ数だけ数式を追加する必要があり面倒なことがわかります

スピルを使用して OR (または) 条件を合計する方法

スピルを使用して合計する方法では、複数の条件を一度の数式で処理し、一つの配列式をSUM関数で合計することで結果を得ることができます。例えば、上記と同じ条件でスピル機能を利用するには下記の通り実装します。

=SUM(COUNTIFS(B3:B12, {"A組","B組"}))
スピルを使用して OR (または) 条件を合計する方法

この方法では、かぎカッコ {} 内に条件を列挙し、COUNTIF関数でこれらを一度に処理しています。その後、SUM関数で結果を合計します。SUM関数を使用しない場合、下記のように1つの数式から複数の値が返されます。(これを配列数式と呼びます)

スピルを使用して OR (または) 条件を合計する際のスピルの解説

今回は配列を直接記述しましたが、セル範囲で設定することもできます。下記の例ではG7:G8セルを条件として設定しており、この範囲を任意に設定することで簡単に OR (または) 条件を変化させることができます。

スピルを使用して OR (または) 条件を合計する場合にセル参照を使う方法

おわりに

以上が、Excel (エクセル) のCOUNTIFS関数で複数条件をAND/OR(または)で使用する方法の解説となります。

ご質問やご不明点がある場合はお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

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