• ベストアンサー

エクセルでデータシートを交換して処理する

あるブックにある月のデータシート(dsheet):フォームは定型とそれを集計処理するシート(hyou)があります。 月が変わって当月のデータ(tsheet)が、別の人からきます。 それを処理するには、 (方法1)先月のdsheetの上にデータをコピーして貼り付ける方法があります。新しい結果が表にでる。 (方法2)tsheetをbookにコピーして,hyouのセル中、dsheetを引用している所のセル付属の関数を、tsheetに変える方法があると思いますが、これを簡単に実施するやり方はあるのでしょうか。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.2

できるだけ説明を簡単にしたいので少し条件を変えます hyouシートのA1にA1:A10までの集計を求めると仮定します。 dsheetのA1:A10までの集計は =sum(dsheet!a1:a10)で求められます tsheetのA1:A10までの集計は =sum(tsheet!a1:a10)で求められます 上記のシート名を切り替えられるようにする為にhyouシートにシート名を入力する為のセルを用意します。今回はB1とします =sum(indirect(b1&"!a1:a10")) 上記の式でB1にtsheetの文字列が入っていればtsheetの集計をdsheetであればdsheetの集計をとるようになります。

taktta
質問者

お礼

なるほど答えをきいて感心しました。プログラムをつくるときのように間接指定にすればできるわけですね。 ただ時間が余分にかからなければいいのですが。 どうもありがとうございました。

その他の回答 (1)

  • dac203
  • ベストアンサー率43% (92/212)
回答No.1

データの量にもよりますが、ブック間でのセル参照はどうでしょうか? 仮にdsheet側を集計.xls、tsheet側をデータ.xlsとし、データ.xlsが「'C:\My Documents」にあるとます。 tsheet上のA2を参照するのであれば、dsheet上のセルに ='C:\My Documents\[データ.xls]tsheet'!A2 と入力すればリンクが出来ます。 ただデータ量が多くなると動作が重くなるかもしれません。

taktta
質問者

お礼

こういう表現もできるんですね、知りませんでした。 ご回答どうもありがとうございました。

関連するQ&A