• ベストアンサー

Excel2007のピボットデーブルについて

1シートに複数のピボットテーブルがあります。 それぞれ、列ラベル・行ラベル・値のフィールドはバラバラですが、レポートフィルタはどのピボットも同じです。 レポートフィルタには3つのフィールドがあり、内容はすべて同じです。 どこかのセルに値を入力すれば、すべてのピボットテーブルのレポートフィルタを変更する方法はありますでしょうか? または、まとめてすべてのレポートフィルタを一度に変更する方法はありますでしょうか? 変更するレポートフィルタは、3つのうちの1つです。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

共通のデータ範囲から複数のピボットテーブルを作成しているのですね? そのデータ範囲にフィールドを追加する事はできますか? 可能なら、追加した列に判定数式を入れてはどうでしょう。 例えば元データ範囲のA,B,C列がレポートフィルタだとして、 Sheet1のD1,D2,D3にそれぞれのフィルタ条件を入力するとして、 =AND(Sheet1!$D$1=A2,Sheet1!$D$2=B2,Sheet1!$D$3=C2) ..のような式を追加列に入力するわけです。(データ範囲行数分コピー) そのフィールドだけをレポートフィルタにセットして TRUE でフィルタをかけます。 あとはフィルタ条件をセルに入力してピボットテーブルの更新をするだけになります。 それ以外の案としては Worksheet_PivotTableUpdateイベントを使ったマクロになるかと思います。

takuya0301_12
質問者

お礼

ありがとうございます。 いろいろな使い方があるのですね。すごく簡単にできました。 ありがとうございました。