図の [参加履歴] テーブルには、いつ、どのコースに、誰が参加したのかの履歴がまとめられています。
このテーブルのデータをもとにピボットテーブルでコースごとの参加者数を求めると、Aコースが 20 名、B コース が 30名、C コースが 10 名となっています。
■[参加履歴] テーブル
しかし実は、同じコースに複数回参加している人がいるようです。たとえば S01 という ID の人は全部で 3 回、参加しています。

ここでは重複しない個数をカウントしたいと考えているので、最終的に図のようなピボットテーブルでの集計をしたいと思っています。

しかし先ほど作成した単一テーブルをデータ ソースとしたピボットテーブルのままでは、値フィールドの設定から集計方法として [重複しない値の数] は選ぶことができないので、元データにユニーク カウントをするための列を用意する必要があります。

今回は別の方法を使って対応してみたいと考えています。
データ モデルへの追加
- [参加履歴] テーブルを選択して、リボンの [Power Pivot] タブの [テーブル] グループの [データ モデルに追加] をクリックします。
このタイミングで、別ウィンドウで Power Pivot for Excel が起動します。
- 追加したテーブルが Power Pivot for Excel のデータ ビューで確認できます。

- Power Pivot for Excel のリボンの [ホーム] タブの [外部データの取り込み] グループの [ピボットテーブル] をクリックします。

- [ピボットテーブルの作成] ダイアログ ボックスで作成先を選択して [OK] をクリックします。

- 新しいピボットテーブルが作成され、フィールド リストにデータ モデルに追加したテーブルのフィールドが表示されます。

- フィールド リストで [参加履歴] テーブルの [参加者] を [値] エリアへ、[コース] を [行] エリアへドラッグして、ピボットテーブルのフィールドを作成します。

-
[参加者] の値の個数が算出されます。この時点ではユニーク カウントにはなっていません。
[値フィールドの設定] ダイアログ ボックスを表示します。
-
データ モデルに追加したことによって、[値フィールドの設定] ダイアログ ボックスの [集計方法] で [重複しない値の数] を選べるようになっています。
[重複しない値の数] を選択して [OK] をクリックします。
- 値フィールドの集計方法が変更され、ユニーク カウント数が算出されます。

データ モデルとは、ワークシートとは別の場所であり、格納されている分析用のデータやリレーションシップのことです。データ モデルの確認やモデリングの際に使用するのが Power Pivot for Excel というツール、ということですね。
ユニーク カウントを求めるために、元データに列を追加して工夫するのも 1 つの方法であり、間違いではありません。ただ、最近の Excel には別の選択肢も用意されているよ、ということです。
石田 かのこ













