Excel で条件に基づいて範囲内の一意の値の数を数える
別の列で指定された条件に基づいて一意の値のみをカウントするには、SUM 関数、FREQUENCY 関数、MATCH 関数、ROW 関数を組み合わせた配列数式を使用できます。このステップ・バイ・ステップガイドでは、この数式の中でも特に難解に感じられる使い方を、確実に理解できるよう丁寧にサポートします。

Excel で条件に基づいて範囲内の一意の値の数をカウントするには?
以下に示す商品テーブルのように、同じ店舗から異なる日付で複数の重複した商品が販売されています。このような場合、店舗 A から販売された商品の一意の件数を取得するには、以下の数式を適用できます。

汎用数式
{=SUM(--(FREQUENCY(IF(range=criteria,MATCH(vals,vals,0)),ROW(vals)-ROW(vals.firstcell)+1)>0))}
引数
注:この数式は配列数式として入力する必要があります。正しく適用されると、数式の前後に中括弧が表示されます。
これらの数式はどのように使いますか?
1.結果を表示するための空白セルを選択してください。
2.以下の数式をセルに入力し、Ctrl+Shift+Enterキーを同時に押して、結果を表示させましょう。
=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))

注意事項:この数式では、E3:E16 は条件と照合する値の範囲、H3 は条件を含むセル、D3:D16 はカウント対象の一意な値の範囲、D3 は D3:D16 の先頭セルです。必要に応じて、これらの参照を変更してください。
この数式の動作原理
{=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))}
- IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)):
- IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;},{1;2;3;2;1;1;3;2;1;1;1;2;3;2}):配列1 の各要素が TRUE の場合、対応する配列2 の値を取得し、FALSE の場合は FALSE を返します。その結果、新しい配列{1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE}が得られます。
- ROW(D3:D16)-ROW(D3)+1:ここで ROW 関数は、参照範囲 D3:D16 およびセル D3 の行番号を返し、結果として{3;4;5;6;7;8;9;10;11;12;13;14;15;16}-{3}+1 が得られます。
- 配列内の各数値から3 を引き、その後1 を加算すると、最終的に{1;2;3;4;5;6;7;8;9;10;11;12;13;14}が得られます。
- FREQUENCY({1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}):この FREQUENCY 関数は、指定された配列内で各数値が出現する回数を返します:{2;1;2;0;0;0;0;0;0;0;0;0;0;0}。
- =SUM(--({2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0)):
関連関数
Excel SUM 関数
Excel の SUM 関数を使えば、簡単に値を合計できます。
Excel FREQUENCY 関数
Excel の FREQUENCY 関数は、指定した範囲内で各値がどのくらいの頻度で出現するかを計算し、縦方向の数値配列として結果を返します。
Excel IF 関数
Excel の IF 関数は、シンプルな論理テストを実行し、その結果が TRUE なら指定した値を、FALSE なら別の値を返します。
Excel MATCH 関数
Excel の MATCH 関数は、セル範囲内で特定の値を検索し、その値の相対位置を返します。
Excel ROW 関数
Excel の ROW 関数は、指定した参照セルの行番号を返します。
関連数式
フィルター済みリストで表示されている行数をカウントする
このチュートリアルでは、Excel の SUBTOTAL 関数を使って、フィルター済みリストに表示されている行数を簡単にカウントする方法をご紹介します。
範囲内の
このチュートリアルでは、Excel で指定された数式を使ってリスト内の重複を除外し、一意の値だけをカウントする方法をご紹介します。
条件に基づいて表示されている行をカウントする
このチュートリアルでは、条件に基づいて表示されている行を正確にカウントするための詳しい手順をご紹介します。
非連続範囲で COUNTIF を使用する
このステップ・バイ・ステップガイドでは、Excel で非連続な範囲に COUNTIF 関数を適用する方法をわかりやすく解説します。
最高の 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 のような効率的なタブ機能をもたらします。