Excel에서 여러 행을 단일 열로 바꾸려면 어떻게 해야 합니까?

Excel에서 여러 행을 단일 열로 바꾸려면 어떻게 해야 합니까?

A1:A5, B1:B5, C1:C5 등과 같이 모두 동일한 길이의 데이터 행이 있습니다. 이를 D1:D5, D6:D10, D11:D15 등과 같이 단일 열에 넣고 싶습니다. 헤더나 행 식별자가 없습니다. ROW와 COLUMN 값의 조합으로 INDIRECT를 사용하면 작동할 것이라고 생각하지만 올바른 조합을 찾을 수 없는 것 같습니다.

답변1

데이터가 있는 경우A1~을 통해C5, 안에D1입력하다:

=OFFSET($A$1,ROUNDUP(ROWS($1:1)/3,0)-1,MOD(ROWS($1:1)-1,3))

그리고 복사해 가세요. 이것은바꾸어 놓다데이터를 단일 열로:

여기에 이미지 설명을 입력하세요

전치 없이 데이터를 단일 열에 배치하는 것도 마찬가지로 쉽습니다.

답변2

이렇게 하면 열 머리글이 무시되고 원래 셀의 데이터는 삭제되지 않습니다. 워크시트에 따라 열 값을 변경해야 할 수도 있습니다.

Sub Macro1()

  Const firstRowWithData = 2 ' assumes labels in row 1
  Dim anyWS As Worksheet
  Dim copyRange As Range
  Dim CP As Integer

  For Each anyWS In ThisWorkbook.Worksheets
    For CP = Range("B1").Column To Range("D1").Column
      Set copyRange = anyWS.Range(anyWS.Cells(2, CP).Address & ":" & _
       anyWS.Cells(Rows.Count, CP).End(xlUp).Address)
      copyRange.Copy anyWS.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    Next
  Next

End Sub

~ 전에

A Header    B Header    C Header
a           b           c
a           b           c
a           b           c

~ 후에

A Header    B Header    C Header
a           b           c
a           b           c
a           b           c
b       
b       
b       
c       
c       
c       

그런 다음 원래 열을 수동으로 삭제합니다.

관련 정보