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

列内の固有の数値または日付をカウントする

Author: Xiaoyang Last Modified: 2025-05-23

重複を含む数値のリストがあり、そのリスト内で固有の値や一度しか出現しない値の数を数えたいとします。この記事では、Excelでこのタスクを迅速かつ簡単に解決するための便利な数式について説明します。

doc-count-unique-values-1


Excel 2019、2016およびそれ以前のバージョンで列内の固有の数値または日付をカウントする

Excel 2019、2016およびそれ以前のバージョンを使用している場合、通常のSUM、FREQUENCY、IF、COUNTIF、ISNUMBER関数を使用して、固有の値や一度しか出現しない値の数を得ることができます。

列内の固有の数値または日付をカウントする

リストから固有の数値をカウントするために、SUM関数とFREQUENCY関数が役立ちます。一般的な構文は次の通りです:

=SUM(--(FREQUENCY(range,range)>0))
  • range: 固有の値をカウントしたいデータ列

結果を出力するため、次の数式を空白のセルに入力またはコピーし、Enterキーを押して結果を得てください:

=SUM(--(FREQUENCY(A2:A12,A2:A12)>0))

doc-count-unique-values-2


数式の説明:

=SUM(--(FREQUENCY(A2:A12,A2:A12)>0))

  • FREQUENCY(A2:A12,A2:A12): FREQUENCY関数は、リストA2:A12内の各数値のカウントを返します。そして、次のような配列を得ます:{1;2;0;2;0;1;1;3;0;0;1;0}。配列内の数字は、列内で値が何回出現したかを示しています。また、配列内の0は、その数字がすでにデータ範囲に出現していることを意味します。
  • --(FREQUENCY(A2:A12,A2:A12)>0=--({1;2;0;2;0;1;1;3;0;0;1;0})>0: 配列内の各値がゼロと比較されます:ゼロより大きい場合はTRUEが表示され、そうでない場合はFALSEが表示されます。その後、二重の否定記号がTRUEとFALSEを1と0に変換するため、次のような結果が返されます:{1;1;0;1;0;1;1;1;0;0;1;0}。
  • SUM(--(FREQUENCY(A2:A12,A2:A12)>0))=SUM({1;1;0;1;0;1;1;1;0;0;1;0}): 最後に、SUM関数が配列内のすべての値を合計し、結果として7を得ます。

列内で一度しか出現しない固有の数値または日付をカウントする

リストから一度しか出現しない固有の数値をカウントするには、SUM、IF、ISNUMBER、COUNTIF関数を組み合わせて数式を作成する必要があります。一般的な構文は次の通りです:

{=SUM(IF(ISNUMBER(range)*COUNTIF(range,range)=1,1,0))}
配列数式であり、Ctrl + Shift + Enterキーを同時に押す必要があります。
  • range: 固有の値をカウントしたいデータ列

正しい結果を得るため、次の数式を空白のセルに入力またはコピーし、Ctrl + Shift + Enterキーを同時に押してください:

=SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))

doc-count-unique-values-3


数式の説明:

=SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))

  • ISNUMBER(A2:A12): このISNUMBER関数は、リストA2:A12の値が数値であるかどうかを確認するために使用されます。セルに数値が含まれている場合、TRUEを返し、そうでない場合はFALSEを返します。そのため、次のような配列が得られます:{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}。
  • COUNTIF(A2:A12,A2:A12): COUNTIF関数は、特定の範囲内で各値が何回出現するかをカウントします。結果として次のように返されます:{1;2;2;2;2;1;1;3;3;3;1}。
  • ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)= {TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE}* {1;2;2;2;2;1;1;3;3;3;1}: これらの2つの式を乗算すると、次のような結果が得られます:{1;2;2;2;2;1;1;3;3;3;1}。
  • IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0)=IF({1;2;2;2;2;1;1;3;3;3;1}=1,1,0): IF関数は、配列内の各値が1に等しいかどうかをチェックします:もしそうなら、1が返されます;そうでなければ、0が表示されます。結果は次のようになります:{1;0;0;0;0;1;1;0;0;0;1}。
  • SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))=SUM({1;0;0;0;0;1;1;0;0;0;1}): 最後に、SUM関数が配列内の値を合計し、固有の値の総数として4を返します。

Excel 365で列内の固有の数値または日付をカウントする

Excel 365では、UNIQUEという新しい簡単な関数があります。この関数をCOUNT関数で囲むことで、必要なタスクを迅速に処理できます。

列内の固有の数値または日付をカウントする

Excel 365で固有の数値または日付をカウントするための一般的な構文は次の通りです:

=COUNT(UNIQUE(range))
  • range: 固有の値をカウントしたいデータ列

結果を得るため、次の数式を空白のセルに入力またはコピーし、Enterキーを押してください。スクリーンショットをご覧ください:

=COUNT(UNIQUE(A2:A12))

doc-count-unique-values-4


数式の説明:

=COUNT(UNIQUE(A2:A12))

  • UNIQUE(A2:A12): このUNIQUE関数は、リストからすべての固有の値を抽出し、次のような配列リストが得られます:{258;560;774;801;985;990;1569}。
  • COUNT(UNIQUE(A2:A12))=COUNT({258;560;774;801;985;990;1569}): このCOUNT関数は、数値の数をカウントし、結果として7を返します。

列内で一度しか出現しない固有の数値または日付をカウントする

このUNIQUE関数は、リストから正確に一度だけ出現する固有の値を抽出することもできます。一般的な構文は次の通りです:

=COUNT(UNIQUE(range,0,1))
  • range: 固有の値をカウントしたいデータ列

結果を返したいセルに次の数式を入力またはコピーし、Enterキーを押してください。スクリーンショットをご覧ください:

=COUNT(UNIQUE(A2:A12,0,1))

doc-count-unique-values-5


数式の説明:

=COUNT(UNIQUE(A2:A12,0,1))

  • UNIQUE(A2:A12,0,1): このUNIQUE関数は、リストから一度だけ出現する固有の値を抽出し、次のような配列リストが得られます:{258;801;985;1569}。
  • COUNT(UNIQUE(A2:A12,0,1))=COUNT({258;801;985;1569}): このCOUNT関数は、数値の数をカウントし、結果として4を返します。

ヒント: 上記のすべての数式は、列内の固有の日付をカウントする際にも使用できます。


関連する関数:

  • SUM:
  • ExcelのSUM関数は、提供された値の合計を返します。
  • FREQUENCY:
  • FREQUENCY関数は、値が特定の範囲内でどれくらい頻繁に発生するかを計算し、縦方向の配列の数を返します。
  • ISNUMBER:
  • ExcelのISNUMBER関数は、セルに数値が含まれている場合にTRUEを返し、そうでない場合はFALSEを返します。
  • COUNTIF:
  • COUNTIF関数は、特定の条件を満たすセルの数をカウントするExcelの統計関数です。
  • COUNT:
  • COUNT関数は、数値を含むセルの数、または引数リスト内の数値の数をカウントするために使用されます。
  • UNIQUE:
  • UNIQUE関数は、リストまたは範囲内の固有の値のリストを返します。

その他の記事:

  • 条件に基づいて固有の数値をカウントする
  • Excelワークシートでは、特定の条件に基づいて固有の数値の数をカウントする問題に直面することがあります。例えば、「Tシャツ」の製品の固有の数量(Qty)値を以下のスクリーンショットに示すレポートからどのようにカウントすればよいでしょうか?この記事では、Excelでこのタスクを達成するためのいくつかの数式を紹介します。
  • 多くの値のいずれかに等しいセルの数をカウントする
  • 列Aに製品のリストがあり、列AからApple、Grape、Lemonといった特定の製品の合計数をC4:C6の範囲から取得したいとします。通常、Excelでは単純なCOUNTIFやCOUNTIFS関数ではこのシナリオでは機能しません。この記事では、SUMPRODUCTとCOUNTIF関数の組み合わせを使用してこの作業を迅速かつ簡単に解決する方法について説明します。
  • 特定の文字数を含むセルの数をカウントする
  • 以下のように、セルの範囲内で特定の文字数(例:5文字)を含むセルの数をカウントしたい場合、ExcelではCOUNTIF関数が役立ちます。この記事では、正確にx文字を含むセルの数や、特定の文字数を超えるセルの数を取得する方法について説明します。

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