Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何在 Excel 中將列清單轉換為逗號分隔的清單?

Author Sun Last modified

在處理 Excel 數據時,您可能經常需要將垂直排列的項目列表轉換成單一的、以逗號分隔的字串。無論您是準備資料庫的輸入、製作報表,還是只是整理您的工作表,都有多種方法可以實現這一點。下面,我們將探討四種優化的方法:

使用公式將列清單轉換為逗號分隔的清單

使用 Kutools for Excel 將列清單轉換為逗號分隔的清單

使用 VBA 程式碼將列清單轉換為逗號分隔的清單

convert a column list to a comma-separated list


使用公式將列清單轉換為逗號分隔的清單

Excel 不包括列到逗號清單的功能,但您可以輕鬆實現它:在 Office 365/2019+ 中使用 TEXTJOIN,或在任何版本中使用 CONCAT+IF 來簡化您的數據。

公式 1:TEXTJOIN 函數(Excel 2019 及更高版本,Office 365)

作為 Excel 最先進的連接函數,TEXTJOIN 通過其雙重功能——靈活的分隔符選擇和自動空單元格管理——為現代 Excel 使用者提供了最簡單的解決方案。

1. 選擇您希望顯示逗號分隔清單的單元格,輸入以下公式:

=TEXTJOIN(", ", TRUE, A2:A10)

2. 按 Enter 鍵以獲取逗號分隔的值。

convert a column list to a comma-separated list with textjoin function

此公式的解釋:
  • ", " 是分隔符(逗號加空格)。
  • TRUE 告訴 Excel 跳過空白單元格。
  • A2:A10 是您的來源區域。
專業提示: 如果您只需要唯一的項目,可以嵌套 UNIQUE 函數:
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A10))
優點:
  • 🔹簡單實現:只需一個函數。
  • 🔹靈活的分隔符:可根據需要使用 ", "(逗號加空格)或僅使用 ","。
  • 🔹自動處理:當 ignore_empty 設置為 TRUE 時跳過空白單元格。
缺點:
  • 🔸需要 Excel 2019 及更高版本 / Office 365。

公式 2:CONCAT 和 IF 函數(所有 Excel 版本)

在 TEXTJOIN 出現之前,您可以結合 CONCAT 與 IF 函數來組裝列表,然後去掉前導分隔符。

1. 選擇您希望顯示逗號分隔清單的單元格,輸入以下公式:

=CONCAT(IF(A2:A10<>"", A2:A10 & ", ", ""))

2. 同時按下 Ctrl + Shift + Enter 鍵以獲取結果。

convert a column list to a comma-separated list with CONCAT function

此公式的解釋:
  • IF(A2:A100<>"", A2:A100 & ",", ""):檢查 A2:A100 中的每個單元格。如果單元格不是空白的,則返回其值加上逗號;否則返回空字符串。
  • CONCAT(...):將該陣列的所有元素連接成一個連續的字串。
優點:
  • 🔹廣泛兼容性:在支持陣列公式的任何 Excel 版本中都能運行,無需依賴較新的函數。
  • 🔹忽略空白單元格:IF 檢查會自動跳過空白單元格。
缺點:
  • 🔸操作繁瑣:必須作為陣列公式輸入,要求用戶按下 Ctrl + Shift + Enter——許多初學者常常忘記這一點。
  • 🔸性能不佳:在處理大型數據集(數萬行)時,計算可能會顯著減慢甚至卡死。
  • 🔸固定結果:如果您想去除最後的分隔符,則需要額外步驟刪除尾隨逗號。

使用 Kutools for Excel 將列清單轉換為逗號分隔的清單

Kutools for Excel 包含了一個強大的「合併行/列/儲存格並保留值」工具,讓您只需幾次點擊即可將整個列的內容合併到單一儲存格中。通過選擇您的來源區域並指定分隔符——無論是逗號、分號、空格還是任何自定義符號——您可以立即生成一個整合的、帶分隔符的清單,而無需手動複製和粘貼每個項目。該工具還提供了忽略空白單元格、保留原始格式的選項,使其成為快速將垂直數據轉換為整潔的逗號分隔清單的理想解決方案。

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

1. 選擇要轉換為逗號分隔清單的列清單,然後點擊 Kutools > 合併與分割 > 合併行/列/儲存格並保留值

click Combine Rows, Columns or Cells without Losing Data feature of kutools

2. 在彈出的「合併列或行」對話框中,您需要:

  • (1) 在「根據以下方式合併選中區域」部分中勾選「合併到一個儲存格」選項。
  • (2) 在「指定分隔符」部分中勾選「其他分隔符」選項,並輸入逗號 ", "。
  • (3.) 選擇如何處理原始單元格數據。(您可以保留原始單元格的內容,或者從原始單元格中刪除內容。)
  • (4.) 在「將合併後的值放在」部分下指定輸出單元格,選擇「其他單元格」選項並點擊選擇一個單元格以輸出結果。
  • (5.) 最後,點擊「確定」按鈕。
    set options in the dialog box

結果將插入到您指定的目標單元格中。

convert a column list to a comma-separated list with kutools

優點:
  • 🔹極其易於使用。
  • 🔹不需要公式或代碼。
  • 🔹順利處理大範圍數據。
  • 🔹合併行、列或區域,使用任何分隔符,保留格式,並選擇輸出位置。
缺點:
  • 🔸需要安裝。

使用 VBA 程式碼將列清單轉換為逗號分隔的清單

或者,如果您更願意自動化任務或需要處理更大、動態變化的範圍,您可以編寫一個 VBA 宏,該宏遍歷您指定列中的每個單元格,附加其非空值後跟逗號(或您選擇的任何分隔符),修剪掉末尾的額外分隔符,然後將完全連接的、逗號分隔的字串輸出到目標單元格中。

1. 按住 Alt F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

2. 點擊 插入 > 模塊,並將 VBA 複製到模塊中。

VBA:將列清單轉換為逗號分隔的清單

Sub ChangeRange()
    ' Updateby Extendoffice
    Dim rng As Range
    Dim InputRng As Range, OutRng As Range
    Dim outStr As String
    Dim xTitleId As String
    xTitleId = "KutoolsforExcel"
    Set InputRng = Application.Selection
    Set InputRng = Application.InputBox("Select source range:", xTitleId, InputRng.Address, Type:=8)
    Set OutRng = Application.InputBox("Output to (single cell):", xTitleId, Type:=8)
    outStr = ""
    For Each rng In InputRng
        If Len(Trim(rng.Value)) > 0 Then
            If outStr = "" Then
                outStr = rng.Value
            Else
                outStr = outStr & ", " & rng.Value
            End If
        End If
    Next rng
    OutRng.Value = outStr
End Sub

3. 點擊 「執行」 按鈕或按 F5 鍵運行 VBA。屏幕上會顯示一個對話框,您可以選擇要轉換的列清單。請參見截圖:

vba code to select the column list you want to convert

4. 點擊 「確定」,然後另一個對話框彈出供您選擇一個單元格。請參見截圖:

vba code to select a cell for putting the result

5. 點擊 「確定」,列清單中的所有值都已轉換為以逗號分隔的清單並顯示在單元格中。

convert a column list to a comma-separated list with vba code


結論:

  • 為了簡單和性能,請在 Excel 2019/365 中使用 TEXTJOIN。
  • 為了兼容性,CONCAT + IF 陣列方法適用於所有版本。
  • 對於一次性任務且不使用公式,Kutools 提供了即點即用的解決方案。
  • 對於完全自動化或複雜規則,VBA 宏是最靈活的。

選擇適合您的 Excel 版本、任務頻率以及對插件或 VBA 的熟悉程度的方法。有了這些優化技術,將任何列轉換為整潔的逗號分隔清單變得輕而易舉。如果您有興趣探索更多 Excel 技巧和竅門,我們的網站提供數千個教程幫助您掌握 Excel


相關文章:

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
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%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

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