dポイントプレゼントキャンペーン実施中!

エクセルはデータを変更すると、合計値が自動で変わるので便利です。
ところがのピボットテーブルは、データの更新をしないと変更が反映されないですよね。

どうして、反映されないのでしょうか?
仕様といえばそれまでですが、何か事情がある気がします。
ご存知の方、教えてください。

A 回答 (1件)

以下は想像です。


パソコンの動作の負担を少なくするためではないでしょうか。
例えば、元データを入力或いは編集するだけで、ピボットテーブルの更新が
実行されると、1つのセルに入力する度に、再計算を行う事ですから
当然、入力の作業の際に、動作がわずかなりとも遅くなります。

ピボットテーブル自体が、データのシートとピボットテーブルの集計のシートと
異なる場合が多いので、同時に両方のシートを見ることもないと思います。
なので、元データを入力・編集するたびに更新を行う必要性も少ないのではないでしょうか。

仮に、どうしてもデータを入力したら再計算が行えるようにといえば、関数を張り巡らして
ピボットテーブルと同じような集計を行えばよいのでしょうが、
結果は、データ入力の作業が遅くなり使いにくくなる可能性があります。

一案ですが、VBAを使って、ピボットテーブルのシートへ移動したら、更新が自動で実行される
といったことは可能だと思います。実用的にはこちらの方が便利でしょう。
状況によっては、前のデータが勝手に更新されることが不便という時もあるかもしれません。

以下を試してみてください。
ピボットテーブルのシート名を右クリック
VBエディターが起動するので

Private Sub Worksheet_Activate()
ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
End Sub
を貼り付けて閉じる。

次回からは、ピボットテーブルのシートを選択する時に、自動で更新が行われます。
元データを入力する度に更新を行う必要もないはずですし・・・
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

冷静に考えると、クロス集計をするので、計算箇所がたくさんあり、パソコンのパワーがいるからかもしれないですね。

お礼日時:2012/03/17 06:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!