KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何將欄與列轉置並轉換為單一列?

作者Xiaoyang修改日期

如何將多個欄與列快速合併為單一長列?對您來說,這或許看似簡單——只需逐一複製並手動整合成一列即可。然而,若資料涵蓋數百個欄與列,這種方式將既耗時又繁瑣。本文將為您介紹幾種高效技巧,輕鬆解決此難題。

使用公式將欄與列轉置/轉換為單一列

使用 VBA 程式碼將欄與列轉置/轉換為單一列

使用 Kutools for Excel 將欄與列轉置/轉換為單一列


使用公式將欄與列轉置/轉換為單一列

假設您有一組資料如下方截圖所示,只需運用一個較長的公式,即可將該範圍內的資料轉換為新工作表中的一列。

doc-convert-range-to-row1

請套用以下公式:

1. 在目前工作簿的新工作表中,按一下儲存格 A1,並貼上此公式:=OFFSET(Sheet 1!$A$1,((ROW()-1)*5)+(FLOOR(COLUMN()-1,4)/4),(COLUMN()-1)-(FLOOR(COLUMN()-1,4)))

注意Sheet 1!$A$1 即為您要使用的試算表與範圍參照。

ROW()-1)*5 在上述公式中,5 代表列號;而 COLUMN()-1,4)/4 中的 4 則代表欄號。您可依需求靈活調整這些參數!

2. 接著向右拖曳填滿控制點,直到出現數字 0 為止。此時,範圍內的所有資料都已轉置為新工作表中的單一列。請參閱截圖:

doc-convert-range-to-row2


使用 VBA 程式碼將欄與列轉置/轉換為單一列

下列 VBA 程式碼也能協助您將資料範圍轉換為單一列。

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 按一下插入 > 模組,並將下列程式碼貼到模組視窗中。

Sub TransformOneRow()
'Updateby20131120
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Ranges to be transform :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Paste to (single cell):", xTitleId, Type:=8)
Application.ScreenUpdating = False
xRows = InputRng.Rows.Count
xCols = InputRng.Columns.Count
For i = 1 To xRows
    InputRng.Rows(i).Copy OutRng
    Set OutRng = OutRng.Offset(0, xCols + 0)
Next
Application.ScreenUpdating = True
End Sub

3. 接著按下 F5 鍵執行程式碼,此時會彈出一個對話方塊,讓您選取要轉換為單一列的內容範圍,並按一下確定;隨後將再彈出另一個對話方塊,供您選取用於輸出結果的單一儲存格。請參閱截圖:

使用 VBA 將範圍轉換為列的截圖
使用 VBA 將範圍轉換為列並帶有箭頭的截圖
使用 VBA 將範圍轉換為列的截圖 2

接著點選確定,所選區域的內容就會轉換為單一列。請參閱截圖:

使用 VBA 將範圍轉換為列的原始資料截圖
使用 VBA 將範圍轉換為列並帶有第二個箭頭的截圖
使用 VBA 將範圍轉換為列的結果截圖

注意:在 Set OutRng = OutRng.Offset(0, xCols + 0) 中,您可以將 0 替換為任何符合需求的數值。

例如,若您希望根據原始資料的列之間隔一欄來分隔結果,可將 Set OutRng = OutRng.Offset(0, xCols + 0) 修改為 Set OutRng = OutRng.Offset(0, xCols + 1),結果如下所示:

使用 VBA 將範圍轉換為列的範例截圖


使用 Kutools for Excel 將欄與列轉置/轉換為單一列

上述兩種方法對 Excel 初學者來說可能稍顯困難,因此我為您推薦一款實用工具——Kutools for Excel。

Kutools for Excel 包含超過 300 個實用的 Excel 工具,免費試用 30 天,無任何限制!立即取得

透過轉換區域功能(屬於 )Kutools for Excel),您可以快速將資料範圍轉換為單一列,操作步驟如下:

1. 選取您想要轉置的資料範圍。

2. 按一下 Kutools > 範圍 > 轉換區域

3. 在轉換區域對話方塊中,選取區域轉單行選項,詳情請參閱截圖:

使用 kutools for Excel 對話框將範圍轉換為列的截圖

4. 接著按一下確定,並從彈出視窗中選取儲存格以放置結果。

使用 kutools for Excel 輸出範圍對話框將範圍轉換為列的截圖

5. 按一下確定,範圍中的資料就會轉置為單一列。請參閱截圖:

doc-convert-range-to-row1
-1
doc-convert-range-to-row7

若想進一步了解此功能,請造訪轉換區域


相關文章

如何在 Excel 中將列轉換為欄?

如何在 Excel 中將單一欄位轉置為多個欄位?

如何將欄與列轉置並轉換為單一欄?

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用