Excel で複数の条件に対して OR 論理を使用した COUNTIFS
通常、Excel では COUNTIFS 関数を使って、AND 条件に基づいてセルをカウントできます。しかし、単一の列またはセル範囲から複数の値をカウントしたいと思ったことはありませんか?これは、OR 条件で複数の条件を満たすセルを数えることを意味します。そんなときは、SUM 関数と COUNTIFS 関数を組み合わせるか、SUMPRODUCT 関数を使うと簡単に実現できます。

Excel で OR 条件でセルをカウントする
たとえば、以下のようなスクリーンショットに示すデータ範囲があるとします。このとき、「Pencil」または「Ruler」である製品の個数をカウントしたい場合、Excel でこのタスクを解決するための数式が2 つあります。

SUM 関数と COUNTIFS 関数を使用して、OR 条件でセルをカウントする
Excel で複数の OR 条件に基づいてカウントするには、配列定数を組み合わせて SUM 関数と COUNTIFS 関数を使用できます。一般的な構文は次のとおりです:
- range:データ範囲には、セルをカウントするための基準が含まれます。
- criterion1, criterion2, criterion3…:セルをカウントする際の条件です。
「Pencil」または「Ruler」の製品がいくつあるかをカウントするには、以下の数式を空白セルにコピーまたは入力し、Enterキーを押して結果を表示してください。

数式の説明:
=SUM(COUNTIFS(B2:B13,{「Pencil」,「Ruler」}))
- {「Pencil」,「Ruler」}:まず、「{"Pencil"、 "Ruler"}」のように、すべての条件を配列定数にまとめる必要があります。項目はカンマで区切ります。
- COUNTIFS(B2:B13,{「Pencil」,「Ruler」}):この COUNTIFS 関数は、「Pencil」と「Ruler」をそれぞれ個別にカウントし、結果は次のようになります:{2,3}。
- SUM(COUNTIFS(B2:B13,{「Pencil」,「Ruler」}))=SUM({2,3}):最後に、この SUM 関数が配列内のすべての値を合計し、結果として5 を返します。
ヒント:条件にはセル参照も使用できます。以下の配列数式を入力し、Ctrl + Shift + Enterキーを同時に押して、正しい結果を取得してください。

SUMPRODUCT 関数を使用して、OR 条件でセルをカウントする
ここでは、SUMPRODUCT 関数を使ったもう一つの数式をご紹介します。これも OR 条件でセルをカウントする際に役立ちます。一般的な構文は次のとおりです:
- range:データ範囲は、セルをカウントする基準が含まれる範囲です。
- criterion1, criterion2, criterion3…:セルをカウントする際に使用する条件です。
以下の数式を空白セルにコピーまたは入力し、Enterキーを押して結果を表示してください。

数式の説明:
=SUMPRODUCT(1*(B2:B13={「Pencil」,「Ruler」}))
- B2:B13={「Pencil」,「Ruler」}:この式は、セル範囲 B2:B13 内の各セルを「Pencil」と「Ruler」の各条件と比較します。条件に一致する場合は 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={「Pencil」,「Ruler」}):乗算によって、論理値(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={「Pencil」,「Ruler」}))= 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 条件セットでセルをカウントする
OR 条件が2 セットだけの場合は、COUNTIFS 数式に別の配列定数を追加するだけで対応できます。
たとえば、次のようなスクリーンショットのデータ範囲があるとします。このとき、「Pencil」または「Ruler」を注文していて、かつ金額が200 である人物の数をカウントしたい場合です。

以下の数式をセルに入力またはコピーして、Enterキーを押すと、結果が表示されます(スクリーンショット参照)。
:この数式では、2 番目の配列定数にセミコロンを使って縦方向の配列を作成する必要があります。

SUMPRODUCT 関数を使用して、複数の OR 条件セットでセルをカウントする
上記の数式は、OR 条件が2 セットの場合にのみ機能します。さらに多くの条件でカウントする必要がある場合は、ISNUMBER 関数と MATCH 関数を組み合わせた複雑な SUMPRODUCT 数式が役立ちます。
以下のデータを例にとると、「Pencil」または「Ruler」を注文し、かつステータスが「Delivered」または「In transit」で、署名者が「Bob」または「Eko」である注文の件数をカウントするには、複雑な数式を適用する必要があります。

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

数式の説明:
=SUMPRODUCT(ISNUMBER(MATCH(B2:B13,{「Pencil」,「Ruler」},0))*ISNUMBER(MATCH(C2:C13,{「Delivered」,「In transit」},0))*ISNUMBER(MATCH(D2:D13,{「Bob」,「Eko」},0)))
ISNUMBER(MATCH(B2:B13,{「Pencil」,「Ruler」},0)):
- MATCH(B2:B13,{「Pencil」,「Ruler」},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,{「Pencil」,「Ruler」},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,{「Pencil」,「Ruler」},0))*ISNUMBER(MATCH(C2:C13,{「Delivered」,「In transit」},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 でこのタスクを実行するための便利な数式をいくつかご紹介します。
- 2 つ以上の条件に一致するセルをカウントする
- Excel では、2 つ以上の条件に基づいてセルの個数をカウントしたいときに、COUNTIFS 関数を使えば、このタスクを迅速かつ簡単にこなせます。
- 複数の OR 条件で行の数をカウントする
- 異なる列に複数の OR 条件を持つ行の数をカウントするには、SUMPRODUCT 関数が役立ちます。たとえば、次のような製品レポートがあるとします。このとき、「製品が『T シャツ』」または「色が『ブラック』」である行の数をExcel でどのようにカウントすればよいでしょうか?
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。