• 締切済み

【Excel】数式のコピー

Excel2003を使用しています。 他人が作成した表の行数を増やして、数式もコピーしたいのですが、その数式は別シートを参照していて、行・列が連続していないので、単純にコピー → 貼り付けでは、正しい数式を貼り付けることができません。 現在は、とりあえず、コピー&貼り付けした後に、数式を修正しているのですが、規則性があるので、手作業で数式を修正する以外に何か良い方法はないでしょうか? Sheet1…参照するシート Sheet2…数式が入力されているシート Sheet2に入力されている数式は  C7 = Sheet1!B7  D7 = Sheet1!C7  E7 = Sheet1!D7  F7 = Sheet1!E7  G7 = Sheet1!F7  H7 = Sheet1!G7  I7 = Sheet1!B8  J7 = Sheet1!C8  K7 = Sheet1!D8     :     :  C16 = Sheet1!B25  D16 = Sheet1!C25  E16 = Sheet1!D25  F16 = Sheet1!E25  G16 = Sheet1!F25  H16 = Sheet1!G25  I16 = Sheet1!B26  J16 = Sheet1!C26  K16 = Sheet1!D26 以上が1ページ分で、C列~H列、I列~K列はそれぞれ参照する行が1行おきになっています。 Sheet1の1ページは26行ありますので、2ページ目のSheet2の数式は  C17 = Sheet1!B33  から始まり  D17 = Sheet1!C33     :     :  H17 = Sheet1!G33  I17 = Sheet1!B34  J17 = Sheet1!C34  K17 = Sheet1!D34     :     :  K26 = Sheet1!D52  までが、2ページ目となり、これが下方向へ続いています。 これらの数式を変更することなどで、コピー&貼り付けができないかと思い、質問させていただきました。 説明がわかりづらくて、申し訳ありませんが、よろしくお願いします。

みんなの回答

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

#01です。式を間違えました シート2のC7セルに貼り付ける式は以下です =OFFSET(Sheet3!$A$1,(ROW(A1)-1)*9+MOD(COLUMN(A1)-1,9),0)

rx-z5815
質問者

お礼

回答ありがとうございます。 早速、教えていただいた数式を入力してみたのですが、作業用シートのA1~A9セルは、転記すべきデータが正しく表示されていますが、A10セル以降が不要なデータ(?)が入り込んでいるようで、うまくいきません。 ちなみに、A10セルに転記されるべきデータは、Sheet2のC8セルに入力されている=Sheet1!B9です。 よろしくお願いします。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

シート1は6列の表ですね。これまではシート2も6列だったのを9列に変更したのでしょうか。 シート1からシート2へダイレクトにデータ参照させるのは難しそうなので一旦作業用シートを経由して参照する方法を考えました まず空のシートのA1セルに以下の式を貼り付け下方向にコピーします  =OFFSET(Sheet1!$B$7,INT((ROW()-1)/6),MOD(ROW()-1,6)) すると転記するべきデータが縦方向に表示されるはずです 次にシート2のC7セルに以下の式を貼り付け、右方向と下方向にコピーします(作業用シートは仮にSheet3としています) =OFFSET(Sheet3!$A$1,(ROW(I1)-1)*9+MOD(COLUMN(I1)-1,9),0)

関連するQ&A