Skip to main content

如何在 Excel 中按分隔符拆分數據並將其重新排列成一列?

Author: Sun Last Modified: 2025-08-06
split data by delimiter and rearrange it into a column

在使用 Excel 時,經常會遇到包含多個由逗號、分號或其他分隔符分隔的值的單元格。如果需要按特定分隔符拆分一組這樣的單元格並將所有生成的值合併到單一列中(如下方截圖所示),有幾種高效的方法可以實現這一目標,從而更好地組織和分析數據。

按分隔符拆分數據並將其重新排列成一列


使用公式(Excel 365)按分隔符拆分數據並重新排列成一列

在 Excel 365 中,我們可以利用現代函數(如 TEXTSPLIT 和 TEXTJOIN 函數)動態地實現這種轉換。

點擊您要放置結果的單元格,輸入以下公式,然後按下 Enter 鍵。包含逗號分隔文本字符串的單元格將立即被轉換為列表。請參見截圖:

=TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ", TRUE, A2:A5), ", "))
split data by delimiter and rearrange it into a column with formula

 

此公式的解釋:
  • TEXTJOIN(",", TRUE, A2:A5):將 A2:A5 中的所有值合併為一個以逗號分隔的單一文本字符串。
  • TEXTSPLIT(..., ","):在每個逗號的位置將合併的文本拆分為單獨的值。
  • TRANSPOSE(...):將生成的一行值轉換為垂直列。

使用 Kutools for Excel 按分隔符拆分數據並將其重新排列成一列

對於使用舊版 Excel(2016/2019等缺乏 TEXTSPLIT 函數版本)的用戶,Kutools for Excel拆分到多行 功能提供了一個理想的解決方案。該功能讓您可以根據特定分隔符快速將單元格內容拆分到單一列中,節省您的時間和精力。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,請按照以下步驟操作:

  1. 點擊 Kutools > 合併與分割 > 拆分到多行,請參見截圖:
    click Split Data to Rows feature of kutools
  2. 拆分到多行 對話框中,指定以下操作:
    • 選擇您要拆分的單元格;
    • 分隔依據 區域,選擇 其他,然後輸入您的分隔符(例如逗號和空格)以定義應如何拆分單元格內容;
    • 最後,點擊 確定 按鈕。
      specify the options in the dialog box

結果:選中的單元格已按指定的分隔符拆分為一列。
split data by delimiter and rearrange it into a column with kutools

📝 備註:此方法直接在源區域拆分數據,因此建議在使用之前複製並備份原始數據。

使用 VBA 程式碼按分隔符拆分數據並將其重新排列成一列

這裡,我們將引導您如何使用 VBA 按分隔符拆分單元格內容並將結果重新排列成一列。

1. 按下 Alt + F11 鍵以顯示 Microsoft Visual Basic for Applications 視窗。

2. 點擊 插入 > 模塊,並將以下程式碼粘貼到新的 模塊 視窗中。

VBA:拆分與轉置

Sub Vertical()
'Updateby Extendoffice
    Dim i As Long, strTxt As String
    Dim startP As Range
    Dim xRg As Range, yRg As Range
    On Error Resume Next
    Set xRg = Application.InputBox _
    (Prompt:="Range Selection...", _
    Title:="Kutools For Excel", Type:=8)
    i = 1
    Application.ScreenUpdating = False
    For Each yRg In xRg
        If i = 1 Then
            strTxt = yRg.Text
            i = 2
        Else
            strTxt = strTxt & "," & yRg.Text
        End If
    Next
    Application.ScreenUpdating = True
    Set startP = Application.InputBox _
    (Prompt:="paste range...", _
    Title:="Kutools For Excel", Type:=8)
    ary = Split(strTxt, ",")
    i = 1
    Application.ScreenUpdating = False
    For Each a In ary
        startP(i, 1).Value = a
        i = i + 1
    Next a
    Application.ScreenUpdating = True
End Sub

3. 按下 F5 鍵運行程式碼,彈出對話框供您選擇要拆分和轉置的範圍。
vba code to select the data list

4. 點擊 確定。彈出另一個對話框供您選擇放置數據的位置。
vba code to select a cell to lit the result

5. 點擊 確定,並且所選範圍已經按逗號拆分並轉置。
split data by delimiter and rearrange it into a column by vba code

備註:在程式碼中,strTxt & ","ary = Split(strTxt, ",") 中的逗號是您將用來拆分數據的分隔符,您可以根據需要更改它們。

🔚 總結

所有方法都能有效解決按分隔符拆分數據的核心問題,最佳選擇取決於您的技術熟練程度和具體需求。

  • 對於大多數 Excel 365 使用者來說,使用公式方法提供了功能性和可維護性之間的最佳平衡。
  • 對於非程序員進行頻繁且複雜的轉換,Kutools 是理想之選。
  • 對於企業環境中的自定義自動化解決方案,VBA 提供了最大的控制權。

根據您的具體需求選擇適當的方法。如果您想了解更多 Excel 技巧和竅門,我們的網站提供了數千個教程,幫助您精通 Excel

最佳 Office 辦公效率工具

🤖 Kutools AI Aide:徹底革新數據分析,基於智能執行|生成程式碼|創建自訂公式|分析數據並生成圖表|調用 Kutools Functions
熱門功能查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不丟失資料 | 四捨五入...
高級 LOOKUP多條件查找|多值查找|多表查找|模糊查找...
高級下拉列表快速創建下拉列表 | 關聯下拉列表 | 多選下拉列表 ...
列管理器添加指定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 區域與列比較 ...
精選功能網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫 (自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按清單發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線 ...)...
前15 大工具集12 款文本工具添加文本刪除特定字符,...)|50+ 種圖表 類型甘特圖,...)|40+ 實用 公式基於生日計算年齡,...)|19 款插入工具插入QR码按路徑插入圖片,...)|12 款轉換工具金額轉大寫匯率轉換,...)|7 款合併和分割工具高級合併行分割儲存格,...)| ...以及更多
使用 Kutools 支援你的語言——支援英語、西班牙語、德語、法語、中文及40 多種語言!

利用 Kutools for Excel 大幅提升你的 Excel 技能,感受前所未有的高效體驗。 Kutools for Excel 提供超過300 項高級功能,助你提升效率並保存時間。 點此查看你最需要的功能...


Office Tab 為 Office 帶來標籤式介面,讓你的工作更加輕鬆

  • 啟用 Word、Excel、PowerPoint 的標籤式編輯和閱讀功能
  • 在同一個視窗的標籤中打開和創建多個文件,而不是在新窗口中分開開啟。
  • 可提升你50% 的工作效率,每天為你大量減少滑鼠點擊次數!