• ベストアンサー

ピボットテーブルについて

あるデータを元にピボットテーブルを使って表を作成しました。 表を作った後からデータを追加した場合、(例えば表の元となっているデータ欄に行を挿入してデータを追加する)どのようにすれば表に反映できますか? 既存のデータの数値を変えるのであればピボットテーブルの「データの更新」で更新できますが、行を追加してデータの範囲が増えた場合、どうすればそれを表に反映できるのでしょうか? 今のその方法がわからないため追加データが出ると、一から表を作り直しています・・・。 どうか教えてください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

ピボットテーブルを右クリックして、『戻る』ボタンで、ピボットテーブルウイザード-2/4 まで戻り、 使用するデータの範囲を再設定しています。 これが面倒と思う時は、ピボットテーブルに使用するデータの範囲に範囲名をつけておき、データ(行)が追加されたら、該当範囲が自動的に変更されるようにしています。 ピボットテーブルウイザード-2/4の使用するデータの範囲には、この範囲名を入力します。 準備として、次の関数を考えます。 (1-1)文字列が入力された列の、入力された最下段の行番号を計算する関数   例えば、A列に表題『A1:性別』があって、2行目から、男、女、男、女、女・・・が   下方向に入力された列です。      =MATCH("",$A:$A,-1) (1-2)数値が入力された列の、入力された最下段の行番号を計算する関数   例えば、A列に表題『A1:年齢』があって、2行目から、22、32、33、19、23・・・が   下方向に入力された列です。      =MATCH(MAX($A:$A)+1,$A:$A,1) (2)ピボットテーブルに使用するデータ範囲に範囲名をつけます  該当範囲はセルA1から入力してあり、A列は数値属性とします。列数は『3』としておきます。  該当範囲のどこかを選択して(シートを特定する意味)、挿入→名前→定義で『名前の定義』ダイアログを表示。  範囲名『DataArea』をつけることにします。名前の窓に『DataArea』を入力(カギカッコはいりません)を入力。  参照範囲に    =OFFSET($A$1,0,0,MATCH(MAX($A:$A)+1,$A:$A,1),3)  を入力してOK。    意味:Offset関数を指定して範囲を決めています。       $A$1 : 基準セルはA1。動かないように、絶対指定($)しています。       0,0  : 左上の基準セルはA1でA1も含むので、A1自身ということで、            移動距離は行方向=0、列方向=0です。       MATCH(MAX($A:$A)+1,$A:$A,1) : データの登録された最下段の行番号です。       3   : データ範囲の列数です。(3列しかない例です)    このようにして、対象の範囲に範囲名を設定します。    A1を左上にした、行数が入力行数で、列数が3の矩形のセル範囲が定義されます。    A列が文字列なら(1-1)を使います。範囲がA列から始まっていなかったら式をずらします。 (3)ピボットテーブルウイザード-2/4の使用するデータの範囲に『DataArea』を入力します。 (4)これで、行を追加した場合は、ピボットテーブルを右クリックして『データの更新』でピボットテーブルが   更新されます。(Excel97で確認)

leche
質問者

お礼

頻繁にデータの追加がある訳ではないので「戻る」を使用したところ思う通りの結果となりました。ありがとうございました。 但し、このようにデータ更新すると、表のフォントや表示形式が元に戻ってしまうのですね。 また、非表示にしていた列も表れてしまう・・・。 これは仕方の無いことなのでしょうか?

leche
質問者

補足

補足すべきところをお礼に書き込んでしまいました。 重複してしまいますが再度補足させて頂きます。 頻繁にデータの追加がある訳ではないので「戻る」を使用したところ思う通りの結果となりました。ありがとうございました。 但し、このようにデータ更新すると、表のフォントや表示形式が元に戻ってしまうのですね。 また、非表示にしていた列も表れてしまう・・・。 これは仕方の無いことなのでしょうか?

その他の回答 (1)

noname#2154
noname#2154
回答No.2

元となっているデータの指定で、 $A$1:$C$15 のような指定ではなく、 列全体を指定してください. そうすると、 Sheet1!$A:$C のような感じになります. これで、どこまでデータを追加しても 「データの更新」一発で大丈夫です. ちなみに、私が使っているのはExcel2000です.

leche
質問者

お礼

今回のデータの欄外上部には作成日や為替レートなどが記入されており、教えて頂いた方法では無理のようでした。 教えて頂いた方法は、シートにデータだけを載せた場合に使わせて頂く事にします。 相談に乗っていただきありがとうございました。

関連するQ&A