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

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

一意および異なる値を簡単にカウント – 7つの例

Author Xiaoyang Last modified

通常、Excelでは、一意の値とはリスト内で一度しか出現しない値であり、重複はありません。一方、異なる値(distinct values)はすべての異なる値(一意の値+最初の重複値を含む)を指します。大規模なデータセットを扱う場合、以下のスクリーンショットのように、セルのリストから重複を含む中で一意の値や異なる値の数を数える必要があるかもしれません。このチュートリアルでは、Excelで一意の値や異なる値を数えるための簡単なテクニックをいくつか紹介します。

Count unique values or distinct values in a list

Excelで一意の値を数える

Excelで異なる値(一意の値と最初の重複値)を数える


サンプルファイルをダウンロード

一意の異なる値を数える


Excelで一意の値を数える

このセクションでは、リスト内のテキストや数字を含む一意の値の数を数えるためのいくつかの数式例について説明します。

数式を使って一意の値を数える

例えば、名前のリストがあり、その中にいくつかの重複する名前が含まれているとします。ここで、以下のように黄色で塗りつぶされた一意の名前だけの数を取得したいとします(下のスクリーンショット参照):

sample data

この問題を解決するために、次の配列数式が役立ちます:

ステップ 1: 数式を入力

結果を出力したい空白のセルに次の数式を入力またはコピーします:

=SUM(IF(COUNTIF(A2:A12,A2:A12)=1,1,0))
 注: 上記の数式において、「A2:A12」は一意の値を数えたいデータリストです。

ステップ 2: 正しい結果を得るために「Ctrl」+「Shift」+「Enter」キーを押します:

Count unique values with formula

注意

  1. もし、セルのリストに他の種類のデータ(数字、ブール値、エラー値など)が含まれている場合、上記の数式を適用すると、データ型に関係なく一意の値の数が取得されます。
  2. データリストに空白のセルが含まれている場合、この数式は空白のセルを除外します。
  3. 他のタイプのデータが含まれている場合に、一意のテキスト値のみを数えるには、次の配列数式を適用し、「Ctrl」+「Shift」+「Enter」キーを押して結果を返してください:
    =SUM(IF(ISTEXT(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))
  4. セルのリスト内に任意のタイプのデータが含まれている場合に、一意の数値のみを数えるには、次の配列数式を使用し、「Ctrl」+「Shift」+「Enter」キーを押して結果を返してください:
    =SUM(IF(ISNUMBER(A2:A12)*COUNTIF(A2:A12,A2:A12)=1,1,0))

Kutools for Excelを使用して数回のクリックで一意の値を数える

次に数式を適用する際に数式を覚えておくのは大変かもしれません。しかし、「Kutools for Excel」があれば、「関数ヘルパー」の「一意の値を数える」オプションを使用することで、数回のクリックだけで結果を得ることができます。以下のデモをご覧ください:

  1. 結果を出力するセルをクリックします;
  2. 「Kutools」>「関数ヘルパー」>「関数ヘルパー」>「統計」>「一意の値を数える」をクリックしてこの機能を有効化します;
  3. データリストを選択 > 「OK」。
    Count unique values with kutools
ヒント:
  1. この機能を使用するには、Kutools for Excelをダウンロードしてインストールする必要があります。
  2. 「関数ヘルパー」機能は、「一意の値を抽出」、「一意の値を持つセルを抽出(最初の重複を含む)」、「カンマ区切りの値の数を数える」、「同じテキストに基づいて合計する」など、40以上の一般的に使用される数式を収集しています...

Excel 365/2021で数式を使って一意の値を数える

Excel 365またはExcel 2021を使用している場合、新しいUNIQUE関数があります。これにより、データセット内の一意の値を数えるためによりシンプルな数式を作成できます。

例えば、範囲A2:A12の一意の名前の数を数えるには、次の数式を入力してください:

ステップ 1: 次の数式をコピーまたは入力します

=IFERROR(ROWS(UNIQUE(A2:A12,,TRUE)), 0)
注: この数式において、「A2:A12」は一意の値を数えたいデータリストです。

ステップ 2: 結果を得るために「Enter」キーを押します:

Count unique values in Excel 365/2021 with formula

ヒント

  1. データリストに他の種類のデータ(テキスト、数字、ブール値、エラー値など)が含まれている場合、この数式はデータ型に関係なく一意の値の数を取得します。
  2. 上記の数式は空白セルを含む一意の値を数えますが、空白を除外したい場合は、次の数式を適用し、「Enter」キーを押すだけで結果を得られます:
    =SUM(IF(COUNTIF(A2:A12,A2:A12)=1,1,0))

Excelで異なる値(一意の値と最初の重複値)を数える

セルのリスト内の異なる値(一意の値と最初の重複値)を数えるには、ここではこのタスクを達成するための他の数式を紹介します。

数式を使って異なる値を数える

Excelでは、異なる値の数を返すために以下のいずれかの数式を適用できます。

ステップ 1: 次のいずれかの数式を入力します

数式 1: 数式を入力した後、「Enter」キーを押します。

=SUMPRODUCT(1/COUNTIF(A2:A12,A2:A12))      

数式 2: 数式を入力した後、「Ctrl」+「Shift」+「Enter」キーを押します。

=SUM(1/COUNTIF(A2:A12,A2:A12))             
注: これらの数式において、「A2:A12」は異なる値を数えたいデータリストです。

結果:

Count distinct values with formula

ヒント:

  1. データリストに他の種類のデータ(数字、ブール値、エラー値など)が含まれている場合、この数式はデータ型に関係なく異なる値を取得します。
  2. 上記の数式を使用すると、データリストに空白セルが含まれている場合、#DIV/0エラー値が表示されます。これを修正して空白セルを無視するには、次のいずれかの数式を適用してください:
    数式 1: 数式を入力した後、「Enter」キーを押します。
    =SUMPRODUCT((A2:A12<>"")/COUNTIF(A2:A12,A2:A12&""))        
    数式 2: 数式を入力した後、「Ctrl」+「Shift」+「Enter」キーを押します。
    =SUM(IF(A2:A12<>"",1/COUNTIF(A2:A12, A2:A12), 0))       

    Count distinct values exclude blank cells with formula

  3. データリスト内の一意のテキスト値のみの数を取得するには、次の配列数式を適用し、「Ctrl」+「Shift」+「Enter」キーを押して結果を得てください:
    =SUM(IF(ISTEXT(A2:A12),1/COUNTIF(A2:A12, A2:A12),""))
  4. 一意の数値のみを数えるには、次の配列数式を使用し、「Ctrl」+「Shift」+「Enter」キーを押して結果を得てください:
    =SUM(IF(ISNUMBER(A2:A12),1/COUNTIF(A2:A12, A2:A12),""))

Kutools for Excelを使用して数回のクリックで異なる値を数える

ワークブック内で頻繁に数式を適用する必要がある場合、次回に数式を適用する際にそれを覚えておくのは大変かもしれません。しかし、「Kutools for Excel」があれば、「関数ヘルパー」の「一意の値を持つセルを数える(最初の重複を含む)」オプションを使用することで、数回のクリックだけで結果を得ることができます。以下のデモをご覧ください:

  1. 結果を出力するセルをクリックします;
  2. 「Kutools」>「関数ヘルパー」>「統計」>「一意の値を持つセルを数える(最初の重複を含む)」をクリックしてこの機能を有効化します;
  3. データリストを選択 > 「OK」。
     Count distinct values with kutools
ヒント:
  1. この機能を使用するには、Kutools for Excelをダウンロードしてインストールする必要があります。
  2. 「関数ヘルパー」機能は、「一意の値を抽出」、「一意の値を持つセルを抽出(最初の重複を含む)」、「カンマ区切りの値の数を数える」、「同じテキストに基づいて合計する」など、40以上の一般的に使用される数式を収集しています...

ピボットテーブルを使って異なる値を数える

Excelでは、ピボットテーブルを使用してデータリストから異なる値の数を取得することもできます。次の手順を行ってください:

ステップ 1: ピボットテーブルを作成する

  1. データリストを選択し、リボンから「挿入」>「ピボットテーブル」をクリックします。スクリーンショットをご覧ください:
    create a pivottable for selected data
  2. ポップアップした「ピボットテーブル」ダイアログボックスで:
    (1). 新しいワークシートまたは既存のワークシートを選択し、ピボットテーブルを配置します;
    (2). 「このデータをデータモデルに追加する」チェックボックスをオンにします。
    (3). 「OK」ボタンをクリックします。
    set options in PivotTable from table or range dialog box

ステップ 2: フィールドを配置し、異なる値を数えるオプションを選択する

  1.  「ピボットテーブルフィールド」ペインが表示され、「名前」フィールドを「値」エリアにドラッグします。以下のデモをご覧ください:
    Arrange the field for pivottable
  2. 次に、「名前の数」ドロップダウンをクリックし、「値フィールドの設定」を選択します。スクリーンショットをご覧ください:
    click value Field Settings option
  3. そして、「値フィールドの設定」ダイアログボックスが開きます。「値を集計方法」タブのリストボックスから「異なる値のカウント」を選択し、「OK」ボタンをクリックします。スクリーンショットをご覧ください:
    select Distinct Count option

結果:

これで、作成されたピボットテーブルは以下のスクリーンショットのようにデータリストの異なるカウントを表示します:

PivotTable result to count distinct values

ヒント

  1. ソースデータを更新した場合、最新のカウントを取得するには、ピボットテーブルを右クリックして「更新」オプションを選択するだけです。
  2. この「異なるカウント」オプションは、Excel 2013以降でのみ利用可能です。

Excel 365/2021で数式を使って異なる値を数える

Excel 365またはExcel 2021では、新しいUNIQUE関数を通常のCOUNTA関数と一緒に使用して簡単な数式を作成できます。

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

=COUNTA(UNIQUE(A2:A12)) 
注: この数式において、「A2:A12」は異なる値を数えたいデータリストです。

Count distinct values in Excel 365/2021 with formula

ヒント

  1. データリストに他の種類のデータ(テキスト、数字、ブール値、エラー値など)が含まれている場合、この数式はデータ型に関係なく異なる値の数をカウントします。
  2. 上記の数式は空白セルを含む異なる値をカウントしますが、空白を除外したい場合は、次の数式を適用し、「Enter」キーを押して結果を得てください:
    =COUNTA(UNIQUE(FILTER(A2:A12, A2:A12<>"")))    

    Count distinct values in Excel 365/2021 with formula exclude blank cells


関連記事:

  • ピボットテーブルで一意の値を数える
  • デフォルトでは、重複値を含むデータ範囲に基づいてピボットテーブルを作成すると、すべてのレコードがカウントされますが、時には正しいスクリーンショット結果を得るために特定の列に基づいて一意の値をカウントしたい場合があります。この記事では、ピボットテーブルで一意の値をカウントする方法について説明します。
  • フィルターされた列で一意の値を数える
  • フィルターされた列にいくつかの重複を含む名前のリストがあり、このフィルタリングされたリストから一意の名前の数を数えたいとします。Excelでこの作業を迅速に処理する良い解決策はありますか?
  • 複数の条件で一意の値を数える
  • ここにはいくつかの名前、プロジェクト、場所を含むデータ範囲があり、リストした基準に一致する名前を見つけ、それぞれの一致した名前を一度だけカウントする必要があります(下のスクリーンショット参照)。この作業を解決するためのコツはありますか?この記事では、そのコツを紹介します。
  • 一意の値を連結する
  • いくつかの重複データを含む長いリストがあり、一意の値のみを見つけ、それらを単一のセルに連結したいとします。Excelでこの問題を迅速かつ簡単に解決するにはどうすればよいですか?