- 締切済み
【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ページ目となり、これが下方向へ続いています。 これらの数式を変更することなどで、コピー&貼り付けができないかと思い、質問させていただきました。 説明がわかりづらくて、申し訳ありませんが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- zap35
- ベストアンサー率44% (1383/3079)
#01です。式を間違えました シート2のC7セルに貼り付ける式は以下です =OFFSET(Sheet3!$A$1,(ROW(A1)-1)*9+MOD(COLUMN(A1)-1,9),0)
- zap35
- ベストアンサー率44% (1383/3079)
シート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)
お礼
回答ありがとうございます。 早速、教えていただいた数式を入力してみたのですが、作業用シートのA1~A9セルは、転記すべきデータが正しく表示されていますが、A10セル以降が不要なデータ(?)が入り込んでいるようで、うまくいきません。 ちなみに、A10セルに転記されるべきデータは、Sheet2のC8セルに入力されている=Sheet1!B9です。 よろしくお願いします。