• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelの連続データから数行おきのコピー)

Excelの連続データから数行おきのコピー

このQ&Aのポイント
  • ExcelのSheet1に連続したデータが入っています。Sheet2はSheet1の内容を参考にしてレイアウトを変えていますが、Sheet1で入力してある項目を参照して表示したいです。コピーには規則性があるので、Sheet2を2項目だけ入力した後、オートフィルで、一発で全部コピーしたいです。VBAではなく、Sheet2に書くべき関数のコードを教えてください。
  • 連続したデータがSheet1に大量に入っています。Sheet2に、Sheet1の一部のデータを数行おきにコピーしたいです。具体的には、Sheet1の1行目のデータをSheet2のA1セルにコピーし、Sheet1の3行目のデータをSheet2のA5セルにコピーし、以降、5行おきにコピーしていきたいです。
  • ExcelのSheet1に連続したデータが入っています。Sheet2に、Sheet1のデータを数行おきにコピーしたいです。具体的な手順としては、Sheet1の1行目のデータをSheet2のA1セルにコピーし、Sheet1の4行目のデータをSheet2のA6セルにコピーし、以降、4行おきにコピーしていきたいです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

シート2のA2セルには(A1,A3セルでもよい)次の式を入力してC2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(MOD(ROW(A1),4)<>1,"",IF(INDEX(Sheet1!$A:$C,ROUNDUP(ROW(A1)/4,0),COLUMN(A1))="","",INDEX(Sheet1!$A:$C,ROUNDUP(ROW(A1)/4,0),COLUMN(A1)))) 上式では1つのデータに4行を使っているので4が入力されています。5行必要なら5に改めて使用すればよいでしょう。 なお、シート1でデータが2行目から下方になる場合には次のような式になります。 =IF(MOD(ROW(A1),4)<>1,"",IF(INDEX(Sheet1!$A:$C,ROUNDUP(ROW(A1)/4,0)+1,COLUMN(A1))="","",INDEX(Sheet1!$A:$C,ROUNDUP(ROW(A1)/4,0)+1,COLUMN(A1)))) +1が新たに追加されますね。

mcse
質問者

お礼

詳しいご回答ありがとうございました! 大変参考になりました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

こんばんは。 添付図: シート2のA1セルに =INDEX(Sheet1!A:A,ROW(A4)/4) と記入、右にコピー(または右にコピーして並ぶ数式を参考に、必要な列を参照する式を作成) A1:C4を選択、下向けにオートフィルドラッグコピーして完成。 #別の方法(もっと簡単な数式。ただし「手を動かすのがメンドクサイ」人には不向き) シート2のA1セルに =Sheet1!A1 と記入、コピーして「C10セルまで」貼り付ける D1からD10に、数字の1,2,3,4,…10と記入する D1:D10をコピーし、D11、D21、D31、D41に貼り付ける (都合1から10が4回並ぶ) A:D列を選択し、D列昇順でA:D列全体を並べ替えると完成。

すると、全ての回答が全文表示されます。

関連するQ&A