• ベストアンサー

ピボットテーブル データ範囲の自動更新

今ピボットの範囲がこうなっていて '1'!$A$1:$X$32040 増える範囲は右に?Yの列に増えるという感じなのですが 横に増えてもINDEXとCOUNTAの関数でいけるのでしょうか? 名前の定義で作ってみたのですが、参照が正しくありませんと表示されます。 コピーできる数式を教えてもらえればありがたいです。 よろしくお願い致します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

>横に増えてもINDEXとCOUNTAの関数でいけるのでしょうか? 出来ますが,別のやり方の方が簡単です。 ところで,COUNTAで勘定できる「前提」をはっきりさせておく必要があります。 例えば 縦に何行有るかは,「A列のデータの個数で漏れなく数えられる」 横に何列有るかは,「1行目のデータ個数で漏れなく数えられる」 のように。 名前の定義の数式の作成: 名前 myList 参照範囲 =OFFSET('1'!$A$1,0,0,COUNTA('1'!$A:$A),COUNTA('1'!$1:$1)) など。 もしどーしてもINDEX+COUNTAを使いたくて仕方ないなら 参照範囲: ='1'!$A$1:INDEX('1'!$A:$IV,COUNTA('1'!$A:$A),COUNTA('1'!$1:$1)) などのように,間違えずに作成する事でも出来ます。

e-h-m
質問者

お礼

出来ました! ありがとうございました!

その他の回答 (3)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>すみませんバージョンは2003です Excel2003ならリストの機能を利用します。 http://allabout.co.jp/gm/gc/297732/3/ このようにして作成したリスト(テーブル)でピボットテーブルを作成してみてください。 #Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。

e-h-m
質問者

お礼

ありがとうございました。 バージョンも気をつけるようにします!

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

参考までに もし関数で対応するなら、INDEX関数よりもOFFSET関数の方がわかりよいと思います。 =OFFSET($A$1,0,0,COUNTA($A:$A),COUNTA($1:$1))

e-h-m
質問者

お礼

ありがとうございます。 1度やってみたいと思います。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

数式で対応することもできますが、以下のようなテーブルとして書式設定の機能を使えば、データ範囲に応じて自動的にテーブル範囲が拡大されます(縦方向だけでなく横方向に項目追加しても、「更新」すれば自動的に新しい項目も追加されます)。 バージョンが明記されていないので、Excel2007の例で説明すると、リスト上にカーソルを置いてホームタブの「テーブルとして書式設定」をクリックしてください。

e-h-m
質問者

補足

すみませんバージョンは2003です。 同じようなやり方が出来たりしますでしょうか?

関連するQ&A