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

Excelで範囲内のユニークな値を数える

Author: Siluvia Last Modified: 2025-05-23

このチュートリアルでは、Excelのリスト内で重複する中からユニークな値のみを数える方法を指定された数式を使って説明します。

doc-count-unique-values-in-range-1


Excelで1つの列のユニークな値を数えるにはどうすればよいですか?

以下のスクリーンショットに示すような製品テーブルがあると仮定して、[製品]列のユニークな値のみを数えるために、以下の数式のいずれかを適用できます。

doc-count-unique-values-in-range-2

汎用的な数式

=SUMPRODUCT(--(FREQUENCY(MATCH(range,range,0),ROW(range)-ROW(range.firstcell)+1)>0))

=SUMPRODUCT(1/COUNTIF(range,range))

引数

範囲: ユニークな値のみを数えたいセルの範囲;
範囲.最初のセル: 範囲の最初のセル。

これらの数式はどのように使用しますか?

1. 結果を出力するための空白セルを選択します。

2. 選択したセルに以下の数式のいずれかを入力し、Enterキーを押します。

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

doc-count-unique-values-in-range-3

注意:

1) これらの数式では、D3:D16はユニークな値のみを数えたいセルの範囲であり、D3はその範囲の最初のセルです。必要に応じて変更できます。
2) 指定された範囲に空のセルが存在する場合、最初の数式は#N/Aエラーを返し、2番目の数式は#DIV/0エラーを返します。

数式の説明

=SUMPRODUCT(--(FREQUENCY(MATCH(D3:D16,D3:D16,0),ROW(D3:D16)-ROW(D3)+1)>0))

  • MATCH(D3:D16,D3:D16,0): MATCH関数は、範囲D3:D16内の各項目の位置を取得します。値がデータ範囲内に複数回出現する場合、同じ位置を返し、このような配列{1;2;3;2;1;1;3;2;1;1;1;2;3;2}を取得します。
  • 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;2;3;2;1;1;3;2;1;1;1;2;3;2},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}): FREQUENCY関数は、各数字がデータ配列内にどれくらい頻繁に出現するかを計算し、{6;5;3;0;0;0;0;0;0;0;0;0;0;0}のような数字の配列を返します。
  • SUMPRODUCT(--{6;5;3;0;0;0;0;0;0;0;0;0;0;0}>0):
{6;5;3;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}を得ます。
--{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}を得ます。
SUMPRODUCT({1;1;1;0;0;0;0;0;0;0;0;0;0;0}): SUMPRODUCT関数は配列内のすべての数字を合計し、最終結果として3を返します。

=SUMPRODUCT(1/COUNTIF(D3:D16,D3:D16))

  • COUNTIF(D3:D16,D3:D16): COUNTIF関数は、範囲D3:D16内の各値が何回出現するかをカウントし、すべての同じ値を基準として使用します。これにより、{6;5;3;5;6;6;3;5;6;6;6;5;3;5}のような配列を返します。これは、Laptopが6回、Projectorが5回、Displayが3回出現することを意味します。
  • 1/{6;5;3;5;6;6;3;5;6;6;6;5;3;5}: 配列内の各数字は1で割られ、{0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;0.2;...のような新しい配列を返します。
    0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;
    0.333333333333333;}.
  • SUMPRODUCT({0.166666666666667;0.2;0.333333333333333;0.2;0.166666666666667;0.166666666666667;...: その後、SUMPRODUCT関数は配列内のすべての数字を合計し、最終結果として3を返します。
    0.2;0.333333333333333;0.166666666666667;0.166666666666667;0.166666666666667;0.333333333333333;0.2;
    0.333333333333333;})
    :その後、SUMPRODUCT関数は配列内のすべての数字を合計し、最終結果として3を返します。

関連する関数

Excel SUMPRODUCT関数
ExcelのSUMPRODUCT関数は、2つ以上の列または配列を掛け合わせ、積の合計を取得するために使用できます。

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

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

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

Excel COUNTIF関数
ExcelのCOUNTIF関数は、条件を満たすセルの数を数えるために使用されます。


関連する数式

フィルタリングされたリスト内の表示されている行数を数える
このチュートリアルでは、SUBTOTAL関数を使用して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含む)に効率的なタブをもたらします。