複数の OR 条件を持つ行の数をカウントする
異なる列に複数の条件(OR 論理)を持つ行の数をカウントするには、SUMPRODUCT 関数が役立ちます。たとえば、下記スクリーンショットのような製品レポートがある場合、「製品が T シャツ」または「色がブラック」である行の数をExcel でどのようにカウントすればよいでしょうか?

複数の OR 条件を持つ行の数をカウントする
Excel では、異なる列に複数の条件を持つ行の数をカウントするために SUMPRODUCT 関数を使用する場合、一般的な構文は次のとおりです:
=SUMPRODUCT(--((criteria1)+(criteria2)>0))
- criteria1, criteria2:条件を満たすために用いられる論理式。
たとえば、「製品が T シャツ」または「色がブラック」である行の数をカウントするには、空白セルに次の数式を入力またはコピーし、Enterキーを押して結果を取得してください:
=SUMPRODUCT(--((A2:A12="T-shirt")+(C2:C12="Black")>0))

数式の説明:
=SUMPRODUCT(--((A2:A12="T-shirt")+(C2:C12="Black")>0))
- (A2:A12="T シャツ")+(C2:C12="ブラック"):
最初の論理式は、製品が「T シャツ」かどうかをチェックし、次のような結果を返します:{FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}。
2 番目の論理式は、色が「ブラック」かどうかをチェックし、次のような結果を返します:{TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE}。
OR 条件を実現するには加算が必要なため、2 つの論理式は加算記号(+)で結合されます。この数値演算により、TRUE および FALSE の値が自動的に1 と0 に変換され、次のような配列が得られます:{1;1;1;0;1;0;1;1;0;0;2}。 - --((A2:A12="T シャツ")+(C2:C12="ブラック")>0)=--({1;1;1;0;1;0;1;1;0;0;2}>0):まず、配列内で0 より大きい値をチェックします。0 より大きい値は TRUE、0 の場合は FALSE となります。その後、ダブルマイナス(--)によって TRUE と FALSE がそれぞれ1 と0 に強制変換され、次のような結果が得られます:{1;1;1;0;1;0;1;1;0;0;1}。
- SUMPRODUCT(--((A2:A12="T シャツ")+(C2:C12="ブラック")>0))=SUMPRODUCT({1;1;1;0;1;0;1;1;0;0;1}):最後に、SUMPRODUCT 関数が配列内のすべての値を合計し、結果として7 を得ます。
ヒント:
さらに条件を追加するには、SUMPRODUCT 関数内に論理式を追加するだけです。たとえば、「製品が T シャツ」または「色がブラック」または「数量が50」である行の数をカウントするには、次の数式をご利用ください:
=SUMPRODUCT(--((A2:A12="T-shirt")+(C2:C12="Black")+(D2:D12=50)>0))

使用された関連関数:
- SUMPRODUCT:
- SUMPRODUCT 関数を使えば、2 つ以上の列や配列の対応する要素を掛け合わせ、その積の合計を簡単に求められます。
関連記事:
- 特定の値を含む行の数をカウントする
- Excel ワークシートで特定の値を持つセルの数をカウントするのは簡単ですが、その値を含む「行」の数を取得するのはやや複雑です。こうした場合には、SUM 関数、MMULT 関数、TRANSPOSE 関数、COLUMN 関数を組み合わせた高度な数式が活用できます。このチュートリアルでは、Excel でこのタスクを効率的に処理するための数式の作り方を詳しく解説します。
- 内部条件を満たす行をカウントする
- 今年と昨年の製品販売レポートがあると仮定しましょう。このような場合、今年の販売数が昨年を上回る製品や、逆に昨年を下回る製品の件数をカウントしたいことがあるかもしれません(下記スクリーンショット参照)。通常は、2 年間の販売差を計算するためのヘルパー列を追加し、COUNTIF 関数で結果を取得します。しかし、本記事では、ヘルパー列を使わずに直接結果を得るための SUMPRODUCT 関数の活用法をご紹介します。
- 複数の条件を満たす行をカウントする
- 範囲内の行数を複数の条件に基づいてカウントする際、その一部の条件が行レベルでの論理テストに依存している場合は、Excel の SUMPRODUCT 関数が非常に役立ちます。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。