• ベストアンサー

エクセルでセルのコピーについて

いつもお世話になってます。 Win98EXCEL97です 過去ログを見たのですがよくわからなくて。 出来るかどうかわからないのですが。 セルのコピーについてです。 セルA1に「=Sheet1C1」と入力したものを セルA20にコピーすると「=Sheet1C21」となります。 仕組みはわかるんですがこれを「=Sheet1C2」でコピペすることは可能でしょうか? セルA1 「=Sheet1C1」 セルA20 「=Sheet1C2」 セルA40 「=Sheet1C3」 セルA60 「=Sheet1C4」 という感じです。 1000件以上の請求書の処理をするので 助けて頂けると幸いです。 請求書ごとトレースできる方法があればなおうれしいです。 よろしくお願い致します

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

  • ベストアンサー
  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

セルA1 「=Sheet1C1」 セルA20 「=Sheet1C2」 セルA40 「=Sheet1C3」 セルA60 「=Sheet1C4」 ということはA1とA20だけ間隔19であとは間隔が20ということでよいのでしょうか? A1は置いといて、A20以降ですが、A20に =INDIRECT("Sheet1!C"&(ROW()/20)+1) と入力してこれをA40,A60,…にコピペしていくとできると思います。

makirabi
質問者

お礼

お礼が遅くなり大変申し訳ございません。 せっかく教えて頂いて頑張って作ったんですが 重くなりすぎて(T_T) いま頑張ってボタンで印字が出来るようにお勉強中です。 また質問させて頂いたときにぜひよろしくお願い致します。 ありがとうございました。

その他の回答 (3)

  • fever
  • ベストアンサー率43% (32/73)
回答No.4

imogasiさん、そうでした。 C1は$C$1にしておく必要がありましたね! 「=OFFSET(Sheet1!$C$1,ROW()/20,1)」 もしくは 「=IF(OFFSET(Sheet1!$C$1,ROW()/20,1)="","",OFFSET(Sheet1!$C$1,ROW()/20,1))」 となります。

makirabi
質問者

お礼

お礼が遅くなり大変申し訳ございません。 せっかく教えて頂いて頑張って作ったんですが 重くなりすぎて(T_T) いま頑張ってボタンで印字が出来るようにお勉強中です。 また質問させて頂いたときにぜひよろしくお願い致します。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

#2と似ていますが =OFFSET(Sheet1!$C$1,INT(ROW()/20),0) 絶対参照にすべきでは。C1にすると、Sheet1!C1の1の部分が貼りつけで変化しませんか。

makirabi
質問者

お礼

imogasiさんお礼が遅くなり大変申し訳ございません。 せっかく教えて頂いて頑張って作ったんですが 重くなりすぎて(T_T) いま頑張ってボタンで印字が出来るようにお勉強中です。 また質問させて頂いたときにぜひよろしくお願い致します。 ありがとうございました。

  • fever
  • ベストアンサー率43% (32/73)
回答No.2

セルA20「=OFFSET(Sheet1!C1,ROW()/20,1)」 参照先が空白だと「0」が返ってきますので、それを回避するならば 「=IF(OFFSET(Sheet1!C1,ROW()/20,1)="","",OFFSET(Sheet1!C1,ROW()/20,1))」 A21~39に何が入っているか分りませんが、何も入っていないでしたらA20~39を(20個のセルを塊で)選択し、コピーしてA40から希望する場所まで(20で割れるセル数)指定して貼り付けます。

関連するQ&A