• ベストアンサー

エクセルの列のある行のみをコピーする方法について

B列に連続したデータが並んでいます。 添付データを見て頂いたほうが分かりやすいと思います。 B列の11行目から20行目をC列に、B列の21行目から30行目をD列にコピーするような効率的にデータを整理する方法はありませんでしょうか。 普段は、コピーして貼り付けることをしていますがデータ容量が膨大になってきますと間違えも怖いので自動ができると助かります。 よろしくお願いいたします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

C1セルに =INDEX($B:$B,(COLUMN()-2)*10+ROW()) この式をC10まで複写。 C1:C10までを範囲指定して、C10で+ハンドルを出し、右方向に引っ張る(式を複写する)。 B列データ行数÷10+1列まで式を複写をして、複写をそこで止める。 こちらのほうが式が多少簡単かな。 ーー コピーといっても「セルの値」を持ってゆくだけで、表示形式は、関数では持ってゆけないが、これでよいのだろう。 本当は厳密に区別して書いて、質問するべき。 だめなら(表示形式などを含めてなら)VBAでやるしかない。関数より簡単。

その他の回答 (2)

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

C1: =IF(ROW(A1)<11,OFFSET($B$1,ROW(A11)-1+(COLUMN(A1)-1)*10,),"")

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>データ容量が膨大になってきますと・・・ B列のデーターが増えても対応します。 Sub Test()   Dim LastRow As Long, i As Long, j As Long   LastRow = Cells(Rows.Count, "B").End(xlUp).Row    j = 3   For i = 11 To LastRow Step 10     Cells(i, "B").Resize(10).Copy Cells(1, j)     j = j + 1   Next End Sub

関連するQ&A

専門家に質問してみよう