[[20100629151251]] 『ピボットで複数項目の「集計の方法」を一括で変更』(紫四季舞) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ピボットで複数項目の「集計の方法」を一括で変更する方法』(紫四季舞)

 エクセル2003で以下のようなピボットを作りたく思っています。

           勤続年数0〜4年 勤続年数5〜9年 勤続年数10〜14 
 データの平均/設問1 3.34      ・・・
 データの平均/設問2  4.32      ・・・ 
 データの平均/設問3  ・
 データの平均/設問4 ・

 ここで「ピボットテーブルのフィールドリスト」から設問1から順に
 縦軸にドラッグしていくと「データの個数/設問1」と全て「データの個数」で
 集計されています。

 ここで以下どちらかの方法を実現する方法はありませんでしょうか?
 1.集計方法のデフォルトを、ピボット毎に予め変更する。
 (今回ならば「平均」がデフォルトで集計されるようにする)
 2.縦軸に「データの個数/設問1」、「データの個数/設問2」と並んだ時に
  一括で、集計方法を「平均」に変更する

 ピボットテーブルの元表はどんなレイアウトなのでしょうか?
 文面から想像するに、こんな感じですか?

      A    B    C    D
 1   勤続年数 設問1  設問2  設問3
 2     3    5    2    4
 3     0    1    3    2

 このレイアウトを変更できないのなら、解決策としては
 ・VBAを使って、集計の方法を一括変更する
  ※VBAを使わずに一括変更する方法があるかどうかは知りません
 ・ピボットテーブルではなく数式で集計する

 VBAを使わないとできないのなら、手作業で1個々々変更します、というレベルの話なのかもしれませんが
 参考までに、アクティブシートにあるピボットテーブルの集計の方法を
 一括して「平均」にするマクロ例です。

 Sub test()
     Dim pvtTable As PivotTable
     Dim pvtField As PivotField

     For Each pvtTable In ActiveSheet.PivotTables
         For Each pvtField In pvtTable.DataFields
            pvtField.Function = xlAverage
         Next pvtField
     Next pvtTable
 End Sub

 (R)


R様

 どうもありがとうございました!
 教えて頂いたマクロで、大量の集計データが「データの個数」から
 「平均」に一瞬で変更されていく様を見て、久しぶりに「おおっ!」
 と叫ぶぐらい、嬉しく感じました。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.