如何在Excel中將逗號分隔的文字字串轉換為列表?

將逗號分隔的文字字串轉換成列表或行是Excel中的常見任務,特別是在從CSV文件或其他文字來源導入數據時。以下是一份詳細指南,介紹如何利用Excel的內置功能以及公式來實現這一目標。
在Excel中將逗號分隔的文字字串轉換為列表
使用公式將逗號分隔的文字字串轉換為列表(Excel 365)
對於使用Excel 365的用戶來說,TEXTSPLIT函數是一種高效且簡單的方法,可以將逗號分隔的字串轉換為行或列。此函數會根據輸出大小自動調整單元格範圍(溢出結果)。
點擊您希望結果開始的單元格,輸入以下公式並按下Enter鍵。包含逗號分隔的文字字串的單元格將立即轉換為列表。請參閱截圖:
=TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ", TRUE, A1:A4), ", "))
- TEXTJOIN(", ", TRUE, A1:A4):
這部分將A1到A4單元格中的文字值合併成一個單一字串,以逗號和空格(, )分隔。
TRUE參數確保範圍內的空白單元格被忽略。 - TEXTSPLIT(..., ", "): 然後,使用逗號和空格(, )作為分隔符,將來自TEXTJOIN的合併字串重新拆分為單個項目。
這會創建原始值的陣列。 - TRANSPOSE(...): 最後,TRANSPOSE函數將陣列從垂直列翻轉為水平行(或反之,取決於原始方向)。
- 優勢:
- 易用性:簡單直觀,無需額外工具。
- 動態陣列:如果源單元格中的數據發生變化,它會自動調整,確保您的輸出始終是最新的。
- 劣勢:
- 可用性有限:僅適用於Excel 365,無法供使用舊版Excel的用戶使用。
使用Kutools for Excel將逗號分隔的文字字串轉換為列表
如果您無法使用Excel 365,Kutools for Excel提供了一個強大且直觀的替代方案,簡化了這個任務。使用其“分割數據到多行”功能,您可以輕鬆地將逗號分隔的字串轉換為多行,使數據管理更加高效和簡單。
安裝Kutools for Excel後,請按照以下步驟操作:
- 點擊“Kutools” > “合併與分割” > “分割數據到多行”,請參閱截圖:
- 在“分割數據到多行”對話框中,指定以下操作:
- 選擇要分割的單元格;
- 在“分隔依據”部分,選擇“其他”,然後輸入您的分隔符(例如,逗號和空格),以定義單元格內容應如何分割;
- 最後,點擊確定按鈕。
結果:所選單元格內容已通過逗號分割成列表。
- 優勢:
- 多功能性:提供更多自定義選項,超過Excel的原生功能。
- 用戶友好:提供GUI引導用戶完成該過程,使其對不太熟悉Excel功能的用戶也易於使用。
- 兼容所有Excel版本:Kutools可以用於所有Excel版本。
- 劣勢:
- 需要安裝。
使用VBA代碼將逗號分隔的文字字串轉換為列表
以下VBA代碼可能有助於將多個逗號分隔的單元格值轉換為一列,請按照以下步驟操作:
1. 在Excel中按住“Alt + F11”鍵,打開“Microsoft Visual Basic for Applications”窗口。
2. 點擊“插入” > “模塊”,並將以下宏粘貼到模塊窗口中。
VBA代碼:將逗號分隔的文字字串轉換為行或列表
Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice
Dim xArr() As String
Dim xAddress As String
Dim Rg As Range
Dim Rg1 As Range
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
If Rg Is Nothing Then Exit Sub
Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
If Rg Is Nothing Then Exit Sub
Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
If Rg1 Is Nothing Then Exit Sub
xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
Rg1.Parent.Activate
Rg1.Resize(UBound(xArr) + 1).Select
End Sub
3. 然後按F5鍵運行此代碼,在彈出的對話框中,選擇要轉換的數據範圍,請參閱截圖:
4. 點擊確定,在接下來的對話框中,指定要輸出結果的單元格,請參閱截圖:
5. 點擊確定按鈕,所選逗號分隔的單元格值已被轉換為行列表。請參閱截圖:
- 優勢:
- 兼容所有Excel版本:VBA可以在Excel 2007及更高版本中使用。
- 自動化處理:能夠批量處理大量數據,非常適合重複性任務。
- 劣勢:
- 需要編程知識:VBA代碼需要一些編程專業知識,對於初學者來說可能不夠友好。
- 安全問題:啟用宏可能會帶來安全風險,特別是在處理來自未知來源的文件時。
無論您喜歡無代碼解決方案如Kutools、Excel 365內置公式的簡潔性還是VBA腳本的穩健性,Excel都提供了各種工具來高效地將逗號分隔的文字字串轉換為可用的數據格式。這些方法提高了生產力,讓您在電子表格中進行更有效的數據管理和分析。如果您想了解更多Excel技巧,我們的網站提供了數千個教程來幫助您掌握Excel。
相關文章:
最佳 Office 生產力工具
🤖 | Kutools AI 助手:以智能執行為基礎,革新數據分析 |生成程式碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 增強函數… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不遺失數據 | 四捨五入(免公式)... | |
高級 LOOKUP:多條件 VLookup|多值 VLookup|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 |依賴型下拉列表 | 多選下拉列表... | |
列管理器:添加指定數量的列 | 移動列 | 切換隱藏列的顯示狀態 | 比較區域及列... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫(快捷文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線...)... | |
15 大工具集:12 項文本工具(添加文本、刪除特定字符…)|50+ 儀表 類型(甘特圖等)|40+ 實用 公式(基於生日計算年齡等)|19 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 |
運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...
Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單
- 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀。
- 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
- 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!
所有 Kutools 外掛,一次安裝
Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。





- 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
- 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
- 協同運作更順暢 — Office 應用間無縫提升生產力
- 30 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用