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

条件に基づいてExcelで一意の値をカウントする

Author: Siluvia Last Modified: 2025-05-23

別の列にある指定された条件に基づいて一意の値のみをカウントするには、SUM、FREQUENCY、MATCH、およびROW関数に基づいた配列数式を適用できます。このステップバイステップガイドは、数式の最も複雑な使用法を理解するのに役立ちます。

doc-count-unique-with-criteria-1


Excelで条件に基づいて一意の値をカウントするにはどうすればよいですか?

以下の商品表に示されているように、同じ店舗から異なる日に販売された重複商品がいくつかあります。ここで、店舗Aから販売された商品の一意のカウントを取得したい場合、以下の数式を適用できます。

doc-count-unique-with-criteria-2

汎用数式

{=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))

doc-count-unique-with-criteria-3

: この数式では、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)):
1) E3:E16=H3: ここでは、値Aが範囲E3:E16に存在するかどうかを確認し、見つかった場合はTRUEを返し、見つからない場合はFALSEを返します。結果として次のような配列が得られます:{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;}.
2) MATCH(D3:D16,D3:D16,0): MATCH関数は、範囲D3:D16内の各項目の最初の位置を取得し、次のような配列を返します:{1;2;3;2;1;1;3;2;1;1;1;2;3;2}。
  • 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)):
1) {2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0: 配列内の各数値を0と比較し、0より大きい場合はTRUEを返し、それ以外の場合はFALSEを返します。結果として次のようなTRUE/FALSE配列が得られます:{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE};
2) --{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}: これらの2つのマイナス記号により、「TRUE」は1に、「FALSE」は0に変換されます。結果として次のような新しい配列が得られます:{1;1;1;0;0;0;0;0;0;0;0;0;0;0}。
3) SUM{1;1;1;0;0;0;0;0;0;0;0;0;0;0}: SUM関数は配列内のすべての数値を合計し、最終的な結果として3を返します。

関連する関数

Excel SUM関数
Excel SUM関数は値を加算します。

Excel FREQUENCY関数
Excel FREQUENCY関数は、値が特定の範囲内でどのくらい頻繁に発生するかを計算し、縦方向の数値配列を返します。

Excel IF関数
Excel IF関数は単純な論理テストを実行し、比較結果に基づいてTRUEの場合にはある値を返し、FALSEの場合には別の値を返します。

Excel MATCH関数
Excel MATCH関数は、特定の範囲内で指定された値を検索し、その値の相対位置を返します。

Excel ROW関数
Excel ROW関数は、参照の行番号を返します。


関連する数式

フィルタリングされたリスト内の表示行数をカウントする
このチュートリアルでは、SUBTOTAL関数を使用してExcelでフィルタリングされたリスト内の表示行数をカウントする方法について説明します。

範囲内の一意の値をカウントする
このチュートリアルでは、Excelのリスト内の重複の中から一意の値のみをカウントする方法について説明します。

条件に基づいて表示行をカウントする
このチュートリアルでは、条件に基づいて表示行をカウントするための詳細な手順を提供します。

非連続範囲でのCOUNTIFの使用
このステップバイステップガイドでは、Excelで非連続範囲に対してCOUNTIF関数を使用する方法を説明します。


最高の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含む)に効率的なタブをもたらします。