• ベストアンサー

エクセル 数式のコピー・貼付について

エクセルの数式のコピー・貼付について教えてください。 シート1にデータが1000行くらい入っているとします。    A   B   1 100  5 2 200  3 3 350  9 :  :   : :  :   : シート2のセルA1、A2に =A1*B1 シート2のセルA3、A4に =A2*B2 シート2のセルA5、A6に =A3*B3 と、2行ずつ数式を入れたいのですが、 普通にコピー貼付をするとセル番地が自動的に 増えていってしまいます。 2行ずつ、同じセル番地の数式を入れる方法がありますでしょうか。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

普通にシート2に数式を入力(シート1のシート名がつくはず) =シート1!A1*シート1!B1 =シート1!A2*シート1!B2 =シート1!A3*シート1!B3 ・ ・ ・ 上記数式入力セル範囲を選択 「編集」メニューの「置換」で = を # に「すべて置換」 セル範囲が選択状態のまま Ctrl+C でコピー Ctrl+↓、続けて ↓ 、で数式セル最下行の1行下に移動 Ctrl+V、で貼り付け 数式セルの列を「昇順」で「並べ替え」 数式セル範囲を選択 「編集」メニューの「置換」で # を = に「すべて置換」

chobizo
質問者

お礼

ご回答ありがとうございます。 この方法だと、シート2の数式を見たら シート1のどのセルを参照しているか わかりやすいため、この方法を利用させていただきます。 仕事で使うため誰が見てもわかるほうが便利なので 助かりました。 ありがとうございました。

その他の回答 (4)

noname#204879
noname#204879
回答No.4

Sheet2!A1: =OFFSET(Sheet1!$A$1,(ROW(A1)-1)/2,0)*OFFSET(Sheet1!$B$1,(ROW(B1)-1)/2,0)

chobizo
質問者

お礼

ご回答ありがとうございます。 この数式で出来ました。 ありがとうございました。

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.3

#2です。 マクロを使えば、シート2に入れる数式は、 =Sheet1!A1*Sheet1!B1 のようにすっきりいけそうです。 たぶんこれが一番求めていらっしゃる形かと思います。 標準モジュール。 Sub Sushiki() Dim r As Integer Dim i As Integer Dim j As Integer Dim MyRow As Integer Dim Ws1 As Worksheet Dim Ws2 As Worksheet Set Ws1 = Worksheets("Sheet1") Set Ws2 = Worksheets("Sheet2") MyRow = Ws1.Cells(Rows.Count, 1).End(xlUp).Row j = 1 For r = 1 To MyRow * 2 i = Application.WorksheetFunction.RoundUp(r / 2, 0) Ws2.Cells(j, 1).Formula = "=Sheet1!A" & i & "*Sheet1!B" & i j = j + 1 Next r Set Ws1 = Nothing Set Ws2 = Nothing End Sub

chobizo
質問者

お礼

ご回答ありがとうございます。 今回はコピー貼付でやりたかったのですが とても参考になりました。 (仕事で使う表なので誰もがわかるように しておかないと後々大変なのです。)

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.2

ご希望の形と違うかもしれません。 でも計算結果はお求めのものが出ると思います。 ■方法1 ・Sheet2 の A1セルに =OFFSET(Sheet1!$A$1,ROUNDUP(ROW()/2,0)-1,0,1,1)*OFFSET(Sheet1!$B$1,ROUNDUP(ROW()/2,0)-1,0,1,1) と入れて、下に引っ張る。シート1のデータが1000行あるなら、シート2は2000行まで。 ■方法2 ・Sheet2 の A1セルに =INDIRECT("Sheet1!a"&ROUNDUP(ROW()/2,0))*INDIRECT("Sheet1!b"&ROUNDUP(ROW()/2,0)) と入れて、下に引っ張る。同様に2000行まで。

chobizo
質問者

お礼

ご回答ありがとうございます。 方法1、2ともに出来ました。 ありがとうございました。

  • MAD0NNA
  • ベストアンサー率32% (58/178)
回答No.1

こんばんは シート2のセルA1、A2に =A1*B1 と、2行ずつ数式を入れてから、 A1、A2を複数選択して 普通通りに、セルの右下十字マークを、下え引張ってください。(コピー) いかがでしょうか? 見当外れの答えなら、聞き流してくださいませ。

chobizo
質問者

お礼

ご回答ありがとうございます。 この方法でコピーすると、A3、A4には シート1の =A3*B3 が出てしまい出来ませんでした。

関連するQ&A