プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

ピボットテーブルを右クリックして、『戻る』ボタンで、ピボットテーブルウイザード-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で確認)

この回答への補足

補足すべきところをお礼に書き込んでしまいました。
重複してしまいますが再度補足させて頂きます。

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

補足日時:2002/07/30 17:44
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/30 16:50

元となっているデータの指定で、


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

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

お礼日時:2002/07/30 16:53

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