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

如何在 Excel 中合併欄位文字並移除重複項目?

作者Siluvia修改日期

處理 Excel 中的清單或大型資料集時,您經常需要將整列文字內容合併至單一儲存格,同時確保重複值僅保留一次。此外,也可能需要根據另一欄位的特定條件來合併文字,並同樣去除重複項目。掌握這些技巧,對於資料清理、摘要彙整與報表製作極具價值,能讓您的工作表更加整潔、清晰且易於閱讀。本文將介紹多種實用方法,並針對常見情境提供詳細的逐步操作指引。

使用公式合併欄位文字並去除重複項目
使用 VBA 程式碼,根據另一儲存格的值合併欄位文字並去除重複項目
使用強大工具,輕鬆根據另一儲存格的值合併欄位文字

更多儲存格合併教學……


使用公式合併欄位文字並去除重複項目

假設您的工作表中有一欄文字資料,希望將其合併至單一儲存格並移除重複項目(如下圖所示)。此方法特別適合用於生成摘要欄位,或為報表與儀表板建立以逗號分隔的唯一清單。無需使用巨集或第三方工具,適用於支援動態陣列函數與 TEXTJOIN 的大多數 Excel 版本。

選取您希望顯示合併文字的空白儲存格,複製下方公式並貼入所選儲存格。若您使用的是舊版 Excel,請按下 Ctrl+Shift+Enter;若您使用的是支援動態陣列的新版 Excel(Excel 365 或 Excel 2019 及更新版本),只需按下 Enter 即可:

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12,0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))

參數說明與使用注意事項:

  • A2:A12:此處定義您要合併的儲存格範圍,請依實際資料需求調整此範圍。
  • ", ":此為合併文字時所使用的分隔符號(在此範例中為逗號與空格)。若需改用其他分隔符號(例如分號或換行),只需調整此參數即可。
  • TRUE:此設定會讓 TEXTJOIN 忽略空白儲存格。

使用公式在欄中合併文字且不含重複項的螢幕截圖

完成上述步驟後,您將獲得一個儲存格,其中包含指定欄位的所有唯一文字值,並以您設定的分隔符號合併。


使用 VBA 程式碼,根據另一儲存格的值合併欄位文字並去除重複項目

有時您需要根據另一欄位的唯一值來合併文字——例如列出每位團隊成員負責的所有專案指派,或每場會議涵蓋的主題,且不得重複。隨著資料量增加,Excel 內建函數在處理此類任務時可能顯得受限或繁瑣。VBA 提供靈活的自動化方式,即使需按群組合併大量資料列並忽略重複項目,也能輕鬆應對。以下 VBA 解決方案可快速達成此目標,並將結果輸出至新工作表,同時完整保留您的原始資料,方便備份與審查。

1. 在包含您要合併文字的工作表中,按下 Alt+F11,即可開啟 Microsoft Visual Basic for Applications 視窗。

2. 在 Visual Basic 視窗中,點擊插入> 模組 以建立新模組,然後將下列程式碼貼入模組的程式碼視窗:

VBA 程式碼:根據另一儲存格的值合併欄位文字並去除重複項目

Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    Dim xValue
    Dim xStr, xStrValue As String
    Dim xB As Boolean
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xStrValue = xArr(I, 2)
           xB = True
            For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
                If xStr = xStrValue Then
                    xB = False
                    Exit For
                End If
            Next
            If xB Then
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
            End If
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub 

3. 若要執行程式碼,只需按下即可。F5 鍵。在彈出標題為 Kutools for Excel 的對話方塊中,請選取同時包含分組欄位與欲合併文字的範圍——該範圍應為兩欄寬(例如第一欄為分類,第二欄為對應文字值)。點擊確定以確認選擇並繼續。

執行 VBA 程式碼後選取要合併儲存格的螢幕截圖

程式碼執行完畢後,您會發現工作簿中已新增一個工作表,列出關鍵欄位的唯一值,並在旁邊顯示原始欄位中對應文字的合併結果(每個值僅出現一次)。此方法特別適合用於摘要分組資料,例如按產品彙整客戶意見,或按經理列出專案等。

顯示合併結果的螢幕截圖


使用強大工具,輕鬆根據另一儲存格的值合併欄位文字

如果您不熟悉複雜的公式或 VBA 腳本,還有更簡單的方法。高級合併行中的實用工具 Kutools for Excel 提供直覺化的介面,能根據另一欄的值合併欄位中的文字,無需具備進階的 Excel 知識。

套用前,請先下載並安裝Kutools for Excel

此方法讓您能根據需求互動式設定摘要與合併操作,特別適合經常處理變動資料集,或需要多次以不同參數執行此操作的使用者。

注意:由於此功能會直接修改您選取的區域,強烈建議在執行合併操作前,先備份原始工作表資料,以避免意外遺失或覆寫重要資訊。

1. 選取包含分組依據值與欲合併文字的儲存格範圍,接著切換至 Kutools 選項卡,點擊合併和拆分,並從下拉選單中選擇高級合併行

2. 在隨即出現的高級合併行對話方塊中:

  • 選擇用來決定文字分組方式的欄位,然後點擊主要鍵。通常為識別碼或分類欄位。
  • 選取包含欲合併文字的欄位,然後點擊合併 > 逗號(或選擇您偏好的分隔符號)。
  • 若有其他欄位(例如數值或其他屬性),可透過選取對應函數(例如)計算加總)來指定其運算方式(例如加總或計算平均值)。
  • 點擊確定即可執行操作,資料將依照設定自動合併。範例如下圖所示:

處理完成後,您會發現指定欄位中的所有文字值已依照所選關鍵列的分組方式自動合併。此方法特別適合追求快速、可重複操作,且無需記憶公式的使用者。

顯示原始資料與合併結果的螢幕截圖

想免費試用此工具 30 天嗎?立即下載,並依照上述步驟操作!


相關文章

在 Excel 中合併重複行並加總數值
在 Excel 中,您是否遇到過這樣的狀況:資料範圍內含有重複項目,卻希望將重複資料合併,並同時加總對應欄位中的數值?別煩惱!本文提供多種實用方法,助您輕鬆搞定!

在 Excel 中將多個儲存格合併為一個儲存格,並以空格、逗號或其他分隔符號分隔
當您將多欄或多列的儲存格合併至單一儲存格時,資料可能會緊密相連而缺乏分隔符號。若您希望以特定符號(例如空格、逗號、分號等)清楚區隔內容,該如何操作?本教學將為您介紹幾種實用方法!

在 Excel 中合併儲存格時保留數字/日期格式
您可能已經發現,當在 Excel 中使用 CONCATENATE 函數時,日期格式(2014-01-03)以及數字格式(如貨幣格式($734.7)、百分比格式(48.9%)、小數位數(24.5000)等)會被移除,合併結果僅以一般數字形式呈現。本文提供多種實用替代方案,助您輕鬆在合併資料時保留原有的日期與數字格式!

在 Excel 中反向執行合併函數
眾所周知,Excel 的合併(Concatenate)函數能將多個儲存格內容合併為一個儲存格。但有時您可能需要反向操作——不是合併,而是將單一儲存格的內容拆分為多個獨立儲存格。本文提供的方法,助您輕鬆解決此難題!

在 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用