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

如何在 Excel 中快速將多個欄位堆疊成單一欄?

作者修改日期

在 Excel 中,文字分列功能可用來將單一欄位中的資料,依照指定的分隔符號拆分成多個欄位。但若您需要執行相反的操作——將多個欄位的值合併或垂直堆疊成單一欄位(如下方範例所示),該如何處理?這種需求常見於整合資料集、準備分析資料,或為後續處理而格式化報表時。遺憾的是,Excel 並未內建直接垂直堆疊欄位的功能,但您仍可透過幾種實用方法高效完成此任務!
將多欄合併為單一欄

使用公式將多個欄堆疊成一個欄

使用 VBA 將多個欄堆疊成一個欄

使用轉換區域將多個欄堆疊成一個欄好點子3

使用適用於 Excel 的 Microsoft Power Query 將多個欄堆疊成一個欄


使用公式將多個欄堆疊成一個欄

如果您不想使用巨集或增益集,可以透過結合 INDEX 函數的陣列公式,將多個欄位堆疊成單一欄。此方法特別適合用於動態資料集,或希望避免手動操作的情境!其一大優勢在於:當您的來源資料更新時,公式會自動反映最新結果。但請務必精確設定儲存格範圍,並避免在參照區域內插入或刪除儲存格,以確保公式正常運作。

1. 選取您要堆疊的數據區域(例如 A1:C4),接著點擊名稱方塊(位於編輯欄左側),輸入有意義的名稱,例如 MyData,再按下 Enter 鍵,即可為該範圍命名,方便後續快速引用!
為資料範圍定義一個名稱

2. 點選您希望堆疊後資料從單一欄開始顯示的空白儲存格(通常位於原始資料下方或另一個工作表中),然後將此公式貼到所選儲存格:

=INDEX(MyData,1+INT((ROW(A1)-1)/COLUMNS(MyData)),MOD(ROW(A1)-1+COLUMNS(MyData),COLUMNS(MyData))+1)

3. 按下 Enter 確認,接著向下拖曳填滿控點,直到出現 #REF!或類似錯誤,即表示所有資料都已列出。如有需要,請刪除錯誤儲存格。
輸入公式以取得結果

在此公式中,MyData 指的是您於步驟 1 中定義的範圍。COLUMNS(MyData)會自動根據資料中的欄數動態調整。輸入公式後,請勿在 MyData 範圍內插入或刪除列,以免影響計算結果。若您的資料包含空白儲存格,這些空白也會一併堆疊進去——如有需要,可於事後篩選排除。針對大型範圍,手動拖曳填滿控點可能耗時;若左側欄位資料已完整填滿,建議直接雙擊填滿控點,即可快速完成填充!

如果您的 Excel 版本支援動態陣列(Excel 365 或 Excel 2021 及更新版本),可嘗試以下公式:

=TOCOL(MyData,1)

此公式僅適用於較新版本的 Excel,可立即將多個欄位堆疊為單一欄。


使用 VBA 將多個欄堆疊成一個欄

若您經常需要堆疊欄位,或希望擁有更精細的控制權,VBA 巨集只需幾次點擊就能自動完成整個流程。VBA 特別適合需處理大型資料集或重複性任務的進階使用者。但請注意,若巨集來源不明,啟用時可能存在安全風險。執行前務必先儲存檔案,並對不熟悉的程式碼保持謹慎。

1. 按下 Alt + F11,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 在 VBA 視窗中,點選插入 > 模組,並將下列程式碼複製貼上至新模組中:

VBA:將多個欄堆疊成單一欄

Sub ConvertRangeToColumn()
'UpdatebyExtendoffice
Dim Range1 As Range, Range2 As Range, Rng As Range
Dim rowIndex As Integer
xTitleId = "KutoolsforExcel"
Set Range1 = Application.Selection
Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8)
Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8)
rowIndex = 0
Application.ScreenUpdating = False
For Each Rng In Range1.Rows
    Rng.Copy
    Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    rowIndex = rowIndex + Rng.Columns.Count
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

將 VBA 程式碼插入模組中

3. 若要執行巨集,請按下 F5,或點選執行按鈕。執行後將彈出提示視窗——請選取您要堆疊的數據區域,再點選確定

4. 接著,系統會提示您選取結果的目標儲存格。再次點選確定,各欄資料將從目標儲存格開始堆疊成單一欄。
VBA 程式碼用於選取儲存格以輸出結果
VBA 程式碼用於選取儲存格以輸出結果

若遇到錯誤,請仔細檢查所選區域,並確認工作表未受保護且不含合併儲存格。如需進階自訂功能(例如跳過空白儲存格或僅堆疊特定欄位),可進一步調整程式碼。執行 VBA 程式碼前,務必先儲存您的工作,以避免意外遺失資料。


使用轉換區域將多個欄堆疊成一個欄

如果您偏好快速又使用者友善的解決方案,且不想撰寫公式或程式碼,不妨使用轉換區域功能——此功能內建於 Kutools for Excel!這款工具特別適合追求直覺操作、希望快速處理資料的使用者,例如行政人員或經常處理多維度資料的專業人士。使用 Kutools 不僅能大幅降低公式錯誤風險,更能節省大量寶貴時間,立即體驗高效工作流!(需先安裝此增益集)

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

安裝免費版 Kutools for Excel 後,請依下列步驟操作:

1. 選取您要堆疊成單一欄的欄位或資料範圍,接著點選 Kutools> 範圍> 轉換區域 以開啟對話方塊。
點擊 Kutools 的「轉換範圍」功能

2. 在轉換區域對話方塊中,選取區域轉單列選項,再點選確定。接著,選取您希望顯示結果的儲存格。
勾選「範圍轉為單一欄」選項,並選擇一個儲存格來放置結果

3. 最後,點選確定,所選欄位將立即堆疊成單一欄,並顯示在您指定的位置。
這些欄已被 Kutools 合併為單一欄

此方法簡單可靠,不易出錯。若結果不如預期,可輕鬆透過復原功能(Ctrl + Z)回復,或針對不同資料集重複執行轉換區域。若您的資料包含合併儲存格,建議先取消合併再使用此功能,以避免產生非預期的結果。


使用適用於 Excel 的 Microsoft Power Query 將多個欄堆疊成一個欄

適用於 Excel 的 Microsoft Power Query(在某些 Excel 版本中亦稱為「取得與轉換」)是處理大量資料或自動化重複性資料轉換作業的絕佳選擇。此功能內建於 Excel 2016 及更新版本,並可作為免費增益集提供給 Excel 2010 與 2013 使用者。Power Query 特別適合進階資料準備工作,透過直覺化的使用者介面,輕鬆完成複雜的資料重塑操作。不過,初次使用時可能需要一點時間熟悉其操作方式。

將您的來源表格載入適用於 Excel 的 Microsoft Power Query。在 Excel 中選取資料,前往資料 > 從表格/範圍,即可開啟適用於 Excel 的 Microsoft Power Query 編輯器。

2. 在查詢預覽中選取所有欄位,前往轉換索引標籤,在表格群組中點選轉置,即可將行列互換。

3. 再次選取所有轉置後的欄位。在轉換索引標籤的任意欄位群組中,點選取消樞紐分析欄位

4. 若不需要「屬性」欄位,請將其移除:在「屬性」欄位標題上按右鍵,然後選取「移除」。

5. 點選關閉並載入,即可將結果以新工作表或表格形式匯入 Excel。日後若您的原始資料有所變動,隨時都能重新整理或套用轉換!

適用於 Excel 的 Microsoft Power Query 可讓您將此堆疊流程儲存為可重複使用的查詢,日後資料更新時,也能快速取得最新結果。

注意:此方法可能無法保留原始欄位標題資訊(來自源數據)。

總結來說,上述每種方法各具優勢:公式適合動態更新資料,VBA 非常適合自動化重複性任務,Kutools for Excel 可透過點選操作輕鬆完成任務,無需太多技術知識,而 Microsoft Power Query(適用於 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用