• ベストアンサー

excelの参照について

excelの参照について 初心者です。 1枚目のシートの情報を2枚目以降のシートに参照させたいのですが それぞれのシートの同じセルに シート2枚目には A1のセルを参照させ シート3枚目には A2のセル シート4枚目には A3のセル・・・ という具合にシートが進む毎に一つずつ下段のセルを参照させたいのですが シート1枚ごとに手で一つずつ入力するのではなく なにか一括して入力する方法はありますでしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

ANo.1です セル式では、今のセルが何シート目か判断できません。 そのため、先の回答では、シート名を使用しました。 シート名に何番目と判断できる番号が無いのでしたら、VBAを使わざる得ません。 VBAでは↓の様になります。なお、中の"A1"が値を貼り付けるセルの位置です。 Sub Sample()   Dim sh As Worksheet   For Each sh In ActiveWorkbook.Worksheets     If sh.Index <> 1 Then       sh.Range("A1").Value = Sheets(1).Cells(1, sh.Index * 2 - 3).Value     End If   Next sh End Sub #一枚目のシートの、A1,C1,E1、と取るようにしました。

jijimoonn
質問者

お礼

何度もありがとうございます。 これは私には難しすぎるようなので、シート名を教えていただいたようにSheet1・・・として作ることにします。一部分試してみましたがうまくいきそうです。本当にありがとうございました。

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 シート2以降のシート名称は「1」からのシリアル番号、参照元シートの行番号として利用する方法です。 シート2以降を全選択して固定セルに=INDIRECT("sheet1!A"&MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,10))を設定、シート選択解除

jijimoonn
質問者

お礼

回答ありがとうございました。 簡単な表で試したらうまくいきました。 もう少し勉強して表を仕上げたいと思います。 本当にありがとうございました。

回答No.2

シート2のA1セルに = (半角)を入力 シート1を選択 シート1のA1を、左クリック Enter キーを押す シート2のA1セルの式を必要範囲に、コピー 同上のことを、シート3では、 シート1の部分を、シート2に シート2の部分を、シート3に 置き換えて実行 シート4以降も同じことを、行う

jijimoonn
質問者

お礼

回答ありがとうございました。 これだとシートが進んでも同じセルを参照してしまうと思うのですが 私のやり方が間違っているのでしょうか・・・

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

シート名から何シート目かを判断しますので、シート名をSheet1~Sheet99と仮定しました。 Sheet2以降の適当なセルに↓の式を入れてください。 =OFFSET(Sheet1!A1,SUBSTITUTE(RIGHT(CELL("filename",A1),2),"t","")-2,0) なお、一度保存したブックで無いと上手く動きません。

jijimoonn
質問者

補足

早速の回答ありがとうございます。シート名を教えていただいた通り「Sheet1」「Sheet2」としたらうまくいったのですが、実際は1シート目が「集計」、2シート目からは店名になって「A店」「B店」となっています。このシート名にしたら#VARUEとなってうまくいきませんでした。(数式の「Sheet1」を「集計」としました)。 あと、教えていただいたのは1シートずつ下にずらす式でしたが、お忙しいところ本当に申し訳ないのですが、右に2つずつずらす場合の式も教えていただけないでしょうか。