メインコンテンツへスキップ

Excelで複数条件を用いたOR論理を使用したCOUNTIFS

Author: Xiaoyang Last Modified: 2025-05-23

通常、COUNTIFS関数を使用して、AND論理に基づいて1つまたは複数の条件に従ってセルをカウントできます。特定の列またはセル範囲から複数の値をカウントする必要がある状況に遭遇したことはありますか?これは、複数の条件とOR論理でカウントすることを意味します。この場合、SUMとCOUNTIFS関数を一緒に使用するか、SUMPRODUCT関数を使用することができます。

doc-countifs-with-or-logic-1


ExcelでOR条件を持つセルをカウントする

例えば、以下のようなデータ範囲があり、スクリーンショットのように「鉛筆」または「定規」という製品の数をカウントしたいとします。ここでは、このタスクを解決するための2つの数式について説明します。

doc-countifs-with-or-logic-2

SUMとCOUNTIFS関数を使用してOR条件を持つセルをカウントする

Excelで複数のOR条件でカウントするには、配列定数を使用してSUMとCOUNTIFS関数を使用できます。一般的な構文は次のとおりです:

=SUM(COUNTIF(範囲, {基準1, 基準2, 基準3, …}))
  • 範囲: カウント対象となる基準が含まれているデータ範囲;
  • 基準1, 基準2, 基準3…: セルをカウントする基準となる条件。

「鉛筆」または「定規」の製品の数をカウントするには、以下の数式を空白のセルにコピーまたは入力し、Enterキーを押して結果を得てください:

=SUM(COUNTIFS(B2:B13,{"鉛筆","定規"}))

doc-countifs-with-or-logic-3


数式の説明:

=SUM(COUNTIFS(B2:B13,{"鉛筆","定規"}))

  • {"鉛筆","定規"}: まず、すべての条件をこのような配列定数にパッケージ化する必要があります:{"鉛筆","定規"}。項目はカンマで区切ります。
  • COUNTIFS(B2:B13,{"鉛筆","定規"}): このCOUNTIFS関数は、「鉛筆」と「定規」それぞれの個別のカウントを取得し、結果として{2,3}という結果を得ます。
  • SUM(COUNTIFS(B2:B13,{"鉛筆","定規"}))=SUM({2,3}): 最後に、このSUM関数は配列内のすべての項目を合計し、結果として5を返します。

ヒント: 条件に対してセル参照を使用することもできます。以下の配列数式を適用し、Ctrl + Shift + Enterキーを同時に押して正しい結果を得てください:

=SUM(COUNTIF(B2:B13,D2:D3))

doc-countifs-with-or-logic-4


SUMPRODUCT関数を使用してOR条件を持つセルをカウントする

SUMPRODUCT関数によって作成された別の数式もあります。これにより、OR論理を使用してセルをカウントできます。一般的な構文は次のとおりです:

=SUMPRODUCT(1*(範囲 ={基準1, 基準2, 基準3, …}))
  • 範囲: カウント対象となる基準が含まれているデータ範囲;
  • 基準1, 基準2, 基準3…: セルをカウントする基準となる条件。

以下の数式を空白のセルにコピーまたは入力し、Enterキーを押して結果を返してください:

=SUMPRODUCT(1*(B2:B13={"鉛筆","定規"}))

doc-countifs-with-or-logic-5


数式の説明:

=SUMPRODUCT(1*(B2:B13={"鉛筆","定規"}))

  • B2:B13={"鉛筆","定規"}: この式は、各基準「鉛筆」「定規」を範囲セルB2:B13と比較します。基準が満たされている場合、TRUEを返し、そうでない場合はFALSEを表示します。結果として次のような結果を得ます:{TRUE,FALSE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;TRUE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE;FALSE,FALSE;FALSE,TRUE;FALSE,FALSE}。
  • 1*(B2:B13={"鉛筆","定規"}): 乗算は論理値(TRUEおよびFALSE)を1と0に変換します。結果として次のような結果を得ます:{1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}。
  • SUMPRODUCT(1*(B2:B13={"鉛筆","定規"}))= SUMPRODUCT({1,0;0,0;0,0;0,1;0,0;1,0;0,0;0,1;0,0;0,0;0,1;0,0}): 最後に、SUMPRODUCT関数は配列内のすべての数字を加算して結果として5を得ます。

Excelで複数セットのOR条件を持つセルをカウントする

時々、2つ以上のOR条件セットを持つセルをカウントする必要がある場合があります。この場合、配列定数を使用したSUMとCOUNTIFSまたはISNUMBER MATCH関数を使用したSUMPRODUCTを使用できます。

SUMとCOUNTIFS関数を使用して2セットのOR条件を持つセルをカウントする

2セットのOR条件のみを処理するには、COUNTIFS数式に別の配列定数を追加するだけです。

例えば、以下のようなデータ範囲があり、スクリーンショットのように「鉛筆」または「定規」を注文し、金額が<100または>200である人をカウントしたいとします。

doc-countifs-with-or-logic-6

次の数式をセルに入力またはコピーし、Enterキーを押して結果を得てください。スクリーンショットをご覧ください:

=SUM(COUNTIFS(B2:B13,{"鉛筆","定規"},C2:C13,{"<100";">200"}))

注意数式では、2番目の配列定数にセミコロンを使用する必要があります。これにより、縦方向の配列が作成されます。

doc-countifs-with-or-logic-7


SUMPRODUCT関数を使用して複数セットのOR条件を持つセルをカウントする

上記の数式は2セットのOR条件でのみ機能します。さらに多くの条件でカウントする必要がある場合、ISNUMBER MATCH関数と一緒に複雑なSUMPRODUCT数式を使用できます。

以下のデータを例に挙げると、「鉛筆」または「定規」を注文し、ステータスが「配送済み」または「輸送中」であり、「Bob」または「Eko」によって署名された人をカウントするには、複雑な数式を適用する必要があります。

doc-countifs-with-or-logic-8

以下の数式を空白のセルにコピーまたは入力し、Enterキーを押して計算結果を得てください。スクリーンショットをご覧ください:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","定規"},0))*ISNUMBER(MATCH(C2:C13,{"配送済み","輸送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

doc-countifs-with-or-logic-9


数式の説明:

=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","定規"},0))*ISNUMBER(MATCH(C2:C13,{"配送済み","輸送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0)))

ISNUMBER(MATCH(B2:B13,{"鉛筆","定規"},0)):

  • MATCH(B2:B13,{"鉛筆","定規"},0): このMATCH関数は、範囲B2:B13の各セルを対応する配列定数と比較するために使用されます。一致が見つかった場合、配列内の値の相対位置を返し、それ以外の場合はエラー値が表示されます。結果として次のような配列リストを得ます:{1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}。
  • ISNUMBER(MATCH(B2:B13,{"鉛筆","定規"},0))= ISNUMBER({1;#N/A;#N/A;2;#N/A;1;#N/A;2;1;#N/A;2;#N/A}): ISNUMBER関数は、数字をTRUEに、エラー値をFALSEに変換します。結果として次のような結果を得ます:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE;FALSE}。

上記のロジックは、2番目および3番目のISNUMBER式にも適用できます。

SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{"鉛筆","定規"},0))*ISNUMBER(MATCH(C2:C13,{"配送済み","輸送中"},0))*ISNUMBER(MATCH(D2:D13,{"Bob","Eko"},0))):

  • 次に、これらの3つの配列はSUMPRODUCT内で乗算され、自動的にTRUEおよびFALSE値を1および0に変換します。数学的な操作の一部として次のように動作します:SUMPRODUCT({1;0;0;1;0;1;0;1;1;0;1;0}*{1;1;0;0;1;1;0;1;1;0;1;1} *{1;0;0;0;0;0;0;1;0;0;1;0})=SUMPRODUCT({1;0;0;0;0;0;0;1;0;0;1;0})。
  • 最後に、SUMPRODUCT関数は配列内のすべての数字を合計して結果として3を得ます。

関連する使用される関数:

  • SUM:
  • ExcelのSUM関数は、提供された値の合計を返します。
  • COUNTIF:
  • COUNTIF関数は、Excelの統計関数であり、特定の条件を満たすセルの数をカウントするために使用されます。
  • SUMPRODUCT:
  • SUMPRODUCT関数は、2つ以上の列または配列を乗算し、その後、積の合計を取得するために使用できます。
  • ISNUMBER:
  • ExcelのISNUMBER関数は、セルに数字が含まれている場合にTRUEを返し、含まれていない場合はFALSEを返します。
  • MATCH:
  • Microsoft ExcelのMATCH関数は、特定の値をセル範囲内で検索し、その値の相対位置を返します。

その他の記事:

  • 条件に基づく一意の数値のカウント
  • Excelワークシートでは、特定の条件に基づいて一意の数値の数をカウントする問題に直面することがあります。例えば、「Tシャツ」の製品のユニークな数量(Qty)の値をスクリーンショットのようにレポートからカウントするにはどうすればよいですか?この記事では、Excelでこのタスクを達成するためのいくつかの数式を紹介します。
  • 複数のOR条件を持つ行数をカウントする
  • 異なる列にある複数の条件を持つ行数をカウントするには、OR論理を使用してSUMPRODUCT関数を使用できます。例えば、以下のような製品レポートがあり、製品が「Tシャツ」または色が「黒」である行をカウントしたいとします。Excelでこのタスクをどのように処理しますか?

最高のOffice生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

🤖 Kutools AI アシスタント: 次の要素に基づいてデータ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データの分析とチャートの生成  |  Kutools 拡張機能の呼び出し
人気の機能重複の検索、ハイライト、または識別  |  空白行の削除  |  データを失うことなく列やセルを結合  |  数式なしで丸める ...
スーパーフィルター複数条件  |  複数値  |  複数シート間  |  ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト  |  依存するドロップダウンリスト  |  複数選択可能なドロップダウンリスト...
列マネージャー特定の数の列を追加  |  列の移動  |  非表示列の可視性ステータスの切り替え  列を比較して同じおよび異なるセルを選択 ...
注目機能グリッドフォーカス  |  デザインビュー  |  強化された数式バー  |  ワークブックとシートの管理 | オートテキスト ライブラリ (Auto Text)  |  日付ピッカー  |  データの統合  |  セルの暗号化/復号化  |  リストによるメール送信  |  スーパーフィルター  |  特殊フィルタ(太字/斜体/取り消し線のフィルタリング...) ...
トップ15のツールセット12 のテキストツールテキストの追加特定の文字を削除 ...)  |  50 以上 のグラフタイプガントチャート ...)  |  40 以上の実用的な数式誕生日に基づいて年齢を計算 ...)  |  19 の挿入ツールQRコードの挿入パスからの画像挿入 ...)  |  12 の変換ツール単語に変換する通貨変換 ...)  |  7 つの結合と分割ツール高度な行のマージExcelセルの分割 ...)  |  ... さらに

Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス手にさよならを告げる。
  • 複数の文書を閲覧・編集する際に、生産性が50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。