ピボットテーブルで各列に集計データ(SumやCountなど)を表示している場合、さらにそのデータの行合計を表示する方法です。
ストレートテーブルの場合、行の合計・列の合計も割と簡単に表示できるのですが、ピボットテーブルの場合はひとひねり必要な部分もありますので、お困りの際は参考にされてくださいね!
ピボットテーブルを作成する
まずはベースとなるピボットテーブルを作ります。
今回は顧客IDを軸に、来店回数毎のポイントを表示しています。
もちろん、顧客によって来店回数は異なります。
※サンプルデータがあまりよろしくなくてすみません(;^_^A
軸 | 顧客ID |
---|---|
列 | 来店回数 |
メジャー | ポイント(集計する場合はSum(ポイント)などの計算式) |
行合計を表示する2つの方法
列の合計をONにする
列(今回の場合来店回数)の合計をONにすればOKです。
日本人的には合計は右端に表示したいのですが、仕様ですので仕方ありません。
この方法には2つ、難点があります。
- メジャーが集計値ではない場合の合計表示が正しくない
- 複数のメジャーがあるとき、合計を表示する項目を限定できない
メジャーが集計値ではない場合の合計表示が正しくない
あれ?合計が表示されない…。
メジャーが集計値でない場合(メジャー:ポイント)、合計が表示されませんでした。
基本集計値にすればいいので問題ないのですが、1列1行でユニークな場合わざわざ集計しなかったりするので注意が必要です!
複数のメジャーがあるとき、合計を表示する項目を限定できない
例えば、複数のメジャーを表示している場合、
例:来店日と接客担当者、来店ポイントなどを表示している
合計をONにすると、来店日や接客担当者の合計も表示します。項目を選んで表示することはできません。
aggr()関数を利用する
次に列として合計値を表示する方法です。
列の最後尾に「ポイント合計」という名前の項目を追加します。
項目にはAggr()関数をセットします。
=Aggr(sum([ポイント]), [顧客ID])
これでポイント合計を表示することができました。
Aggr()関数は計算式を軸として利用できる大変便利な関数です。
引数には計算式と軸を指定します。
こちらも方法にも1つだけ難点があります。
Aggr()関数の出力結果は文字列として表示される
表示された値が左寄せで表示されています。
この場合、データをEXCELなどにエクスポートすると、数値が文字列として保存されますので注意が必要です。
まとめ
いかがでしたか?私は2番目の対応方法が自由度が高くておすすめです。
お好みの方法でどうぞ♪