在 Excel 中,如何將多行轉置為單列?

在 Excel 中,如何將多行轉置為單列?

我有長度相等的資料行,例如 A1:A5、B1:B5、C1:C5 等。符。我認為將 INDIRECT 與 ROW 和 COLUMN 值的組合一起使用應該可行,但我似乎找不到正確的組合。

答案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       

然後手動刪除原來的列。

相關內容