図の [参加履歴] テーブルには、いつ、どのコースに、誰が参加したのかの履歴がまとめられています。
このテーブルのデータをもとにピボットテーブルでコースごとの参加者数を求めると、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 には別の選択肢も用意されているよ、ということです。
石田 かのこ