如何在 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 的原生功能提供更多自訂選項。
- 用戶友好:提供圖形介面引導用戶完成操作,讓不熟悉 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。
相關文章:
最佳辦公效率工具
🤖 | 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、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!