こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【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ページ目となり、これが下方向へ続いています。

これらの数式を変更することなどで、コピー&貼り付けができないかと思い、質問させていただきました。
説明がわかりづらくて、申し訳ありませんが、よろしくお願いします。

投稿日時 - 2007-06-27 10:55:31

QNo.3119521

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

#01です。式を間違えました

シート2のC7セルに貼り付ける式は以下です
=OFFSET(Sheet3!$A$1,(ROW(A1)-1)*9+MOD(COLUMN(A1)-1,9),0)

投稿日時 - 2007-06-27 11:47:01

お礼

回答ありがとうございます。

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

よろしくお願いします。

投稿日時 - 2007-06-27 14:58:29

ANo.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)

投稿日時 - 2007-06-27 11:26:34

あなたにオススメの質問