Excelのピボットテーブルで、集計の軸(行や列)に影響しないデータ集計、表示の基本は前回のとおり。
今回は、ピボットテーブルの軸で、一部はそのまま集計の軸(行や列)に利用するが、その他は利用しないなど、少し応用の方法。
上記で紹介のデータ集計、表示の基本は、集計の軸(行や列)の絞り込み条件をすべて無視する方法で、今回の方法は、絞り込み条件の一部はそのまま使いたい場合の方法。
具体的には、実際に集計したい場面にならないとイメージが持ちづらいが、例えば次のアウトプットの結果(ピボットテーブル)で、「カウント/年代」は通常の集計。そのうち、ALL年代の場所は、「東京都」としての全体件数が表示されている状態。
アウトプット例(ピボットテーブルで、絞り込みをしたい条件も一部ある)
手順
方法は、Excelのピボットテーブルで、集計の軸(行や列)に影響しないデータ集計の基本で、メジャー(数式)を少し変更する。
具体的には、メジャーを設定する次の画面での数式の内容を一部変更する。
数式で、例えば年代というフィールドの絞り込みをしたくない場合は、次のように記載する。
=CALCULATE(COUNTROWS('範囲'),ALL('範囲'[年代]))
※ この例で、’範囲’は設定されているテーブル名、[年代]はフィールド名
慣れるまで少しだけ混乱するが、ピボットテーブルは、集計の軸(行や列)でデータ集計するので、ALL関数で絞り込み条件を解除するフィールドを設定する。
つまり、集計の軸(行や列)の全てを無視したい場合は、
=CALCULATE(COUNTROWS('範囲'),('範囲'))
で、テーブル全体を指定していた。
今回は、フィールド名まで指定したパターン。
また、集計の軸(行や列)で利用したい(絞り込みたい)フィールドだけを設定したい場合は、ALL関数ではなく、ALLEXCEPT関数で次のようにする。
=CALCULATE(COUNTROWS('範囲'),ALLEXCEPT('範囲','範囲'[年代]))
ALLEXCEPTで、指定したフィールドだけ利用するという意味。
個人的には、反対の反対のような設定で頭が混乱する。
個人的な理解だが、とりあえず、今回紹介した内容を次のように理解している。
- CALCULATEは、ピボットテーブルの集計の軸(行や列)ではなく、”絞り込み条件”に設定した内容で集計できるという理解。
- ALLで絞り込みしたくない範囲を設定する。
以上、ピボットテーブルの軸で、一部はそのまま集計の軸(行や列)に利用するが、その他は利用しないなど、少し応用の方法でした。