【Excel】ピボットで文字列を集計!ExcelのCOUNTとDISTINCT COUNTの使い分け

【Excel】ピボットで文字列を集計!ExcelのCOUNTとDISTINCT COUNTの使い分け
🛡️ 超解決

Excelのピボットテーブルで文字列データを集計したい場面に遭遇するでしょう。

特に、重複しない文字列の数を数えたい場合、COUNT関数やDISTINCT COUNT機能の使い分けに迷うことがあります。

この記事では、ピボットテーブルで文字列を集計するCOUNTとDISTINCT COUNTの機能について、その違いと使い分けを解説します。

具体的な設定方法や注意点も網羅しているため、ピボットテーブルでの文字列集計がスムーズに行えるようになります。

【要点】ピボットテーブルでの文字列集計COUNTとDISTINCT COUNTの使い分け

  • COUNT関数(値の個数): 数値データや日付データを集計する際に使用します。文字列はカウントされません。
  • COUNTA関数(空白以外のセルの個数): 数値、文字列、日付など、空白以外のすべてのセルをカウントします。
  • DISTINCT COUNT(重複を除いた個数): ピボットテーブルの「値」フィールドの設定で、重複する値を除いたユニークな値の数を集計できます。

ADVERTISEMENT

ピボットテーブルにおけるCOUNTとDISTINCT COUNTの機能概要

ピボットテーブルで文字列を集計する際、使用できる集計方法にはいくつかの種類があります。

標準的な集計方法として「個数」がありますが、これは数値データに対して使用されることが一般的です。

文字列データに対して「個数」を集計しようとすると、期待通りの結果にならない場合があります。

そこで、文字列データの集計には、COUNT関数やCOUNTA関数、あるいはDISTINCT COUNT機能の理解が重要になります。

COUNT関数とは

COUNT関数は、指定した範囲内にある数値データまたは日付データが入ったセルの個数を数える関数です。

数式バーに「=COUNT(範囲)」のように入力して使用します。

この関数は、文字列や空白のセルはカウント対象外となります。

ピボットテーブルでは、集計方法として「個数」を選択した場合、COUNT関数と同様の動作をします。

COUNTA関数とは

COUNTA関数は、指定した範囲内にある、空白ではないセルの個数を数える関数です。

数値、文字列、日付、論理値、エラー値など、空白以外であればどのようなデータでもカウント対象となります。

数式バーには「=COUNTA(範囲)」のように入力します。

ピボットテーブルの集計方法で「個数」を選択した場合、データが文字列であればCOUNTA関数のように動作します。

DISTINCT COUNT機能とは

DISTINCT COUNTは、ピボットテーブルの「値」フィールドの設定で利用できる機能です。

これは、指定したフィールドに含まれる重複しない(ユニークな)値の数を集計します。

例えば、「商品名」の列でDISTINCT COUNTを使用すると、同じ商品名が複数存在しても、1つとしてカウントされます。

この機能は、特に顧客数やユニークな注文数などを把握したい場合に非常に有効です。

Excelのバージョンによっては、この機能が標準で利用できない場合があります。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

COUNTとDISTINCT COUNTの使い分け

COUNTとDISTINCT COUNTの使い分けは、集計したいデータの種類と目的に応じて決まります。

まず、集計したいデータが数値や日付である場合は、COUNT関数(ピボットテーブルでは「個数」)を使用します。

次に、集計したいデータが文字列であり、単にその個数を数えたい場合は、COUNTA関数(ピボットテーブルでは「個数」)が適しています。

しかし、集計したいデータが文字列であり、かつ「重複を除いたユニークな値の数」を知りたい場合は、DISTINCT COUNT機能を使用する必要があります。

例えば、ある期間の顧客リストがあり、その期間中に何人の「異なる」顧客が購入したかを把握したい場合などが該当します。

COUNT関数(個数)が適しているケース

COUNT関数(ピボットテーブルでの「個数」集計)が適しているのは、主に数値データや日付データが含まれる列の件数を数えたい場合です。

例えば、売上金額のデータがある列で、いくつの取引があったかを数える場合などが該当します。

この場合、COUNT関数は数値が入っているセルのみをカウントします。

もし、その列に文字列や空白が含まれていても、それらは無視されるため、純粋な取引件数を把握できます。

ただし、ピボットテーブルで「個数」を選択した場合、実際にはCOUNTA関数のように動作し、空白以外のセルをカウントします。

DISTINCT COUNTが適しているケース

DISTINCT COUNT機能は、重複しないユニークな値の数を集計したい場合に最適です。

例えば、顧客リストがあり、「顧客ID」や「メールアドレス」などの列から、ユニークな顧客の総数を把握したい場合です。

また、商品リストから、販売された「異なる」商品カテゴリーの数を把握したい場合なども考えられます。

この機能を使うことで、データの全体像をより正確に把握し、分析の精度を高めることができます。

ピボットテーブルでDISTINCT COUNTを設定する手順

ピボットテーブルでDISTINCT COUNT機能を利用するには、Excelのバージョンによって操作が異なります。

Microsoft 365のExcelでは、この機能が標準で提供されています。

それ以前のバージョンでは、Power Pivotアドインを有効にする必要がある場合もあります。

ここでは、Microsoft 365での設定手順を解説します。

  1. ピボットテーブルの作成
    集計したいデータ範囲を選択し、「挿入」タブから「ピボットテーブル」を選択して作成します。
  2. 「値」フィールドへの追加
    「ピボットテーブルのフィールド」ウィンドウで、重複を除いて集計したいフィールド(例: 顧客ID、商品名)を「値」エリアにドラッグします。
  3. 集計方法の変更
    「値」エリアに追加されたフィールドの▼ボタンをクリックし、「値フィールドの設定」を選択します。
  4. 「個別のカウント」の選択
    「値フィールドの設定」ダイアログボックスが開いたら、「集計方法」タブで「個別のカウント」を探して選択します。
  5. 設定の完了
    「OK」ボタンをクリックしてダイアログボックスを閉じます。これで、選択したフィールドの重複しない値の数が集計されます。

ADVERTISEMENT

Excel 2019以前でのDISTINCT COUNTの代替策

Excel 2019以前のバージョンでは、ピボットテーブルの標準機能として「個別のカウント(DISTINCT COUNT)」が直接提供されていません。

しかし、いくつかの代替策を用いることで、同様の結果を得ることが可能です。

主な方法としては、Power Pivotアドインを使用する方法や、数式を用いて事前に重複を除いたリストを作成する方法があります。

これらの方法を理解しておくことで、古いバージョンのExcelでも効率的に文字列を集計できます。

Power Pivotアドインの利用

Power Pivotは、Excelのアドインとして提供される高度なデータ分析ツールです。

これを利用すると、DAX(Data Analysis Expressions)関数を使ってDISTINCT COUNTを計算できます。

Power Pivotを有効にするには、「ファイル」>「オプション」>「アドイン」から「COMアドイン」を選択し、「Microsoft Power Pivot for Excel」にチェックを入れます。

Power Pivotでデータモデルを作成した後、DAX関数である `DISTINCTCOUNT` を使用して、ピボットテーブルで分析可能なメジャーを作成します。

この方法は、大量のデータを扱う場合や、より複雑な分析を行う場合に強力な選択肢となります。

数式による重複除去とCOUNTIF関数

Power Pivotが利用できない場合や、より手軽な方法を求める場合は、数式を使って重複を除いたリストを作成し、それを集計する方法があります。

まず、元のデータ範囲から重複する値を除いたリストを別途作成します。

Excel 2019以降であれば、「データ」タブの「重複の削除」機能や、UNIQUE関数(Microsoft 365)などが利用できます。

古いバージョンでは、FILTER関数とCOUNTIF関数を組み合わせた配列数式などを用いることで、重複を除いたリストを動的に作成することも可能です。

作成した重複を除いたリストの個数をCOUNTIF関数などで数えれば、DISTINCT COUNTと同様の結果が得られます。

ピボットテーブルでの集計に関する注意点

ピボットテーブルで文字列を集計する際には、いくつか注意すべき点があります。

特に、集計方法の選択を誤ると、意図しない結果が表示される可能性があります。

また、データの形式や空白セルの有無も集計結果に影響を与えるため、事前に確認しておくことが重要です。

これらの注意点を理解しておくことで、より正確で信頼性の高い集計結果を得られます。

空白セルと集計方法の関係

ピボットテーブルで「個数」を集計する場合、空白セルはカウントされないことに注意が必要です。

これは、COUNTA関数が空白セルを無視するのと同様の動作です。

もし、空白セルも1つの項目としてカウントしたい場合は、事前に空白セルを特定の文字列(例: 「(空白)」、「NA」など)に置き換えておく必要があります。

あるいは、ピボットテーブルのオプション設定で、空白セルを表示しないようにすることも可能です。

集計フィールドのデータ型

集計したいフィールドのデータ型によっては、期待通りの集計ができない場合があります。

例えば、数値のように見えても、実際には文字列として入力されているデータがあります。

このような場合、「個数」集計では文字列として扱われ、COUNTA関数のような動作になります。

DISTINCT COUNT機能も、データ型を正しく認識して重複を判定します。

集計前に、データが意図したデータ型になっているかを確認することが推奨されます。

Microsoft 365での「個別のカウント」の制限

Microsoft 365の「個別のカウント」機能は非常に便利ですが、いくつかの制限事項があります。

この機能は、主に数値、日付、文字列などの基本的なデータ型に対して機能します。

例えば、数式の結果である配列や、他のピボットテーブルのフィールドを直接集計対象とする場合は、意図した結果にならないことがあります。

また、非常に大規模なデータセットの場合、処理に時間がかかる可能性も考慮する必要があります。

より複雑な集計や大量データの処理には、Power PivotやPower Queryの利用が推奨されます。

COUNTとDISTINCT COUNTの比較表

項目 COUNT関数(ピボット「個数」) DISTINCT COUNT(ピボット「個別のカウント」)
主な用途 数値・日付データの件数集計 重複しないユニークな値の件数集計
カウント対象 数値・日付・文字列(空白以外) 重複しない値(数値、日付、文字列など)
空白セルの扱い カウントしない カウントしない
Excel 2019以前での利用 標準機能 Power Pivotまたは代替策が必要
集計例 全取引件数、全日付件数 ユニーク顧客数、ユニーク商品数

まとめ

この記事では、ExcelのピボットテーブルにおけるCOUNTとDISTINCT COUNTの機能について解説しました。

COUNT(ピボットテーブルの「個数」)は数値や文字列の総件数を、DISTINCT COUNT(「個別のカウント」)は重複しないユニークな値の数を集計する際に使用します。

Microsoft 365では「個別のカウント」機能が標準で利用可能ですが、古いバージョンではPower Pivotや数式による代替策が必要です。

データの種類と集計目的に応じて適切な機能を選択することで、より精度の高い分析が可能になります。

今後は、これらの機能を活用して、顧客分析や商品分析などの精度を高めてみてください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】