• ベストアンサー

エクセルで飛び飛びのセルを参照するには

エクセルの使い方で飛び飛びのセルを参照する方法を教えてください。 例えば、sheet1のA1セルにsheet2のA1セルをsheet1のA2セルにsheet2のA15セルをsheet1のA3セルにsheet2のA30セルを参照させるにはどうしたらいいのでしょうか。よろしくお願いします

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

  • ベストアンサー
noname#204879
noname#204879
回答No.6

Sheet1!A1: =OFFSET(Sheet2!A$1,MAX((ROW(A1)-1)*15-1,0),)

hmjbd359
質問者

お礼

おかげさまでよくわかりました。ありがとうございました。 ちなみに数列が間違っていたこと気がつきませんで申し訳ありませんでした。

その他の回答 (5)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.5

★この問題自体が間違ってませんか? ★A1,A15,A30・・では数列が導き出せません。 ★A1,A16,A31,A46・・・  差分15の等差数列として考えて見ます。  色々な場面で使えるように、考え方も書いておきます。  自分の位置(座標)から、相手の位置(座標)を導き出して、それを参照することになります。 1) 今回は行番号から計算できますからROWを使います。  ROW() でそのセルの行番号がわかります。  ROW()-[行番号]   ・・・ これはその処理を開始する行を0にするためのに必要です。     今の場合A1セルですから   ROW()-[1] で ROW() になります。1行目のセルから1を導く   この処理を 3行目からはじめ時は ROW()-3  (結果/目的) Shet1の1行目,2行目,3行目,4行目はそれぞれ0,1,2,3,4となる 2) 参照先の行のステップをかけます。これで何行目を参照すればよいかがわかる。   ×参照先/参照元  この場合、15行おきですから   15*(ROW()-1) となります。  (結果/目的) Shet1の1行目,2行目,3行目,4行目はそれぞれ0,15,30,45,60となる。 3) 参照先の一行目の行番号を加える。  ここは、行番号1からですから、等差数列   15*(ROW()-1)+1  (結果/目的) Shet1の1行目,2行目,3行目,4行目はそれぞれ1,16,31,46,61となる。 4) 別のセルを参照するINDIRECT()関数を使用します。  a) Sheet参照と文字連結の&を使う   すなわち、INDIRECT("Sheet1!A"&15*(ROW()-1)+1)  (結果/目的) Shet1の1行目,2行目,3行目,4行目はそれぞれ、   Sheet1!A1,Sheet1!A16,Sheet1!A31,Sheet1!A46,Sheet1!A61となる。

hmjbd359
質問者

お礼

おかげさまでよくわかりました。ありがとうございました。 ちなみに数列が間違っていたこと気がつきませんで申し訳ありませんでした。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.4

これでいいはずですが A1 =Sheet2!A1 A2 =Sheet2!A15 A3 =Sheet2!A30 具体的には Sheet1のA1セルに=を入力 Sheet2のA1セルをクリック Sheet1のA2セルに=を入力 Sheet2のA15セルをクリック Sheet1のA3セルに=を入力 Sheet2のA30セルをクリック

hmjbd359
質問者

お礼

ありがとうございました。

回答No.3

A1からA2の増分が14で、A2からA3の増分が15で、そのあとはどうい う規則で増えるんでしょうか。なにか間違ってませんか。 1、16、31、46...だったら=indirect("Sheet2!A"&(row()-1)*15+1) でいいんですが。

hmjbd359
質問者

お礼

おかげさまでよくわかりました。ありがとうございました。 ちなみに数列が間違っていたこと気がつきませんで申し訳ありませんでした。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

ん~15飛びとかでなくて?規則性はないのでしょうか =Sheet2!A1 =Sheet2!A15 ?A16 =Sheet2!A30 ?A31 もし15飛びでよければ =INDEX(Sheet2!A:A,ROW(A1)*15-14) で下へコピィしてください。

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

一例です。 sheet2の15行毎に抽出します。 sheet1のA1に=INDEX(Sheet2!$A:$A,(ROW(A1)-1)*15)を設定、下方向にコピーして下さい。

hmjbd359
質問者

お礼

おかげさまでよくわかりました。ありがとうございました。 ちなみに数列が間違っていたこと気がつきませんで申し訳ありませんでした。