• ベストアンサー

エクセルで別のシートのデータを5行おきに参照して集計したい

別のシート(sheet1)のデータを5行おき(C5・C10・C15~)に参照して、別のシート(sheet2)の表(D1・D2・D3~)に順番に書き込ませたいのですが、D1に次の式 =OFFSET('sheet1 '!C5,5,0) をいれ、D2移行D1をコピー貼り付けすると、=OFFSET('sheet1 '!C6,5,0)  =OFFSET('sheet1 '!C7,5,0)  =OFFSET('sheet1 '!C8,5,0) と参照先が C6 C7 C8とずれて、C5 C10 C15 となってくれません。 どう式を作れば良いのでしょうか? 教えてください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

No1です。 > 教えていただいた=OFFSET(Sheet1!C$5,(ROW()-1)*5,0) を入力してみましたが、欲しい行を参照してくれないのです。 (sheet1)のデータを5行おき(C5・C10・C15~)と参照するのであれば、D1に上記をコピペしてそのまま下へドラッグすれば出来るはずです。式には$もちゃんと入れましたか?$があれば下へ持ってきてもSheet1!C$5は変わりません。) > C7が基準で、C11 C29 C40 C51 ~ どういう基準ですか?5行おきどころか規則性がぜんぜん無いようですが??? 規則性がなければ関数でもVBAでも出来ません。 C7基準で仮に7行おきならば式をいじらず、 =OFFSET(Sheet1!C$7,(ROW(D1)-1)*7,0) をそのままコピペして下にドラッグしてみてください。

boohoogoo
質問者

お礼

> C7が基準で、C11 C29 C40 C51 ~ は、C7が基準で、C18 C29 C40 C51 ~ 11行おきの間違えでした。すみません。 今度は  =OFFSET(Sheet1!C$7,(ROW(D1)-1)*7,0) を =OFFSET(Sheet1!C$7,(ROW(D1)-1)*11,0) に直して 見事成功しました。すごいですね!感激です。 ありがとうございました。

その他の回答 (3)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

単にC5,C10,....を抽出すればいいなら =Offset(Sheet1!$C$1,ROW()*5-1,0) ですね。一気に計算なら =SUMPRODUCT((MOD(ROW(Sheet1!C1:C100),5)=0)*(Sheet1!C1:C100))

boohoogoo
質問者

お礼

ありがとうございました

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.2

別案です。 Sheet2のD1: =INDEX(Sheet1!C:C,ROW(C1)*5) 必要なだけ下にフィルコピー。

boohoogoo
質問者

お礼

ありがとうございました。 今後の参考に、メモしておきます。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

=OFFSET(Sheet1!C$5,(ROW()-1)*5,0) でいいと思います。

boohoogoo
質問者

補足

過去の質問を参考に、merlionXXさんから教えていただいた=OFFSET(Sheet1!C$5,(ROW()-1)*5,0) を入力してみましたが、欲しい行を参照してくれないのです。 実際は、C7が基準で、C11 C29 C40 C51 ~と参照してゆきたいので、D1に ='sheet1'!C7 とし、D2に =OFFSET('sheet1'!C7,(ROW()-1)*11,0) と入力すると、なんと C51のデータが参照されしまいます。 D3 =OFFSET('sheet1'!C8,(ROW()-1)*11,0) は、12行下のC63が参照され、 D4 =OFFSET('sheet1'!C9,(ROW()-1)*11,0) は、そのまた12行下のC75が参照されてしまいます。 実は、C列にはやはり、11行おきにA13~C13、A24~C24とセルの結合されてところがあります。これは影響するでしょうか?  

関連するQ&A