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

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

Author: Siluvia Last Modified: 2025-08-06

別の列にある指定された条件に基づいて一意の値のみをカウントするには、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関数を使用する方法を説明します。


最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

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

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

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