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

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

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

Author Siluvia Last modified

このチュートリアルでは、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関数を使用する方法を実演します。


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

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含む)にもたらします。