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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Siluvia Last modified

別の列にある指定された条件に基づいて一意の値のみをカウントするには、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 Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |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含む)にもたらします。