Skip to main content

在 Excel 中根據群組將多行合併到一個單元格的 3 種方法

Author: Sun Last Modified: 2025-05-12

在 Excel 中處理結構化數據集時,根據群組將多行數據合併到單個單元格是一種常見的需求。例如,您可能希望將與同一類別相關的所有名稱合併到一個單元格中。本文提供了使用各種方法和針對不同專業水平及使用案例進行優化的逐步指導。

A screenshot of two columns with classes and student names, and concatenated student names based on classes


使用公式和篩選功能進行群組和合併

您可以使用 Excel 的公式以及「篩選」功能根據某一列來合併行。請按照以下步驟操作。

注意:確保您的數據已按群組列排序,例如本例中的「班級」。
  1. 在新列中輸入以下公式以合併名稱並按下「Enter」鍵。向下拖動以應用於整個列範圍。
    =IF(A2=A1,C1&", "&B2,B2)
  2. 在新列中輸入以下公式,按下「Enter」鍵並向下拖動公式。
    =IF(A2<>A3,"Last","")
  3. 選擇包括輔助列在內的所有數據範圍。選擇「數據」>「篩選」以向數據添加篩選圖標
    A screenshot of the Filter button in Excel ribbon
  4. 點擊最後一個輔助列中的 「篩選圖標」,僅勾選「最後」複選框,然後點擊「確定」。
    A screenshot showing only filtered last rows in each group in Excel

現在結果如下所示,如果不再需要最後一個輔助列,可以將其刪除。

A screenshot of final grouped and concatenated results in Excel


輕鬆使用 Kutools for Excel 進行群組和合併

「Kutools for Excel」提供了一個簡單且高效的解決方案——「高級合併行」,只需幾次點擊即可將分組的行合併到單個單元格中。它會自動添加自訂分隔符,如逗號、空格或換行符,以滿足不同的數據展示需求。

Kutools for Excel - 包含超過 300 種 Excel 必備工具。永久免費享受 AI 功能!立即下載!

  1. 突出顯示包含數據的單元格。導航至「Kutools」>「合併與分割」>「高級合併行」。
  2. 在「高級合併行 」窗口中,請按以下配置:
    1. 點擊要基於其合併行的列,並將其設置為「主鍵」。
    2. 對於要合併的列,例如本例中的「名稱」列,在該列的「操作」欄位下的「合併」部分指定分隔符。
    3. 點擊「確定」按鈕。

結果:Kutools 將根據群組自動將數據合併到具有特定分隔符的單個單元格中。

注意:在應用此工具之前,建議創建原始數據的副本。

Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取


使用 VBA 代碼進行群組和合併

您還可以使用 VBA 根據群組動態合併行。

  1. 按下 「Alt」 + 「F11」鍵以啟用「Microsoft Visual Basic for Applications」窗口。
  2. 在代碼編輯器中,點擊「工具」>「引用」以啟用「引用」對話框,勾選「Microsoft Scripting Runtime」並保存更改。
  3. 轉到「插入」>「模塊」並將以下 VBA 代碼粘貼到模塊窗口中。
    VBA:根據群組將行合併到一個單元格中
    Sub ConcatenateCellsIfSameValues()
    'UpdatebyExtendoffice20180201
        Dim I As Long
        Dim J As Long
        Dim xRg As Range
        Dim xRgKey As Range
        Dim xRgVal As Range
        Dim xStr As String
        Dim xDic As New Dictionary
        On Error Resume Next
        Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
        If xRg Is Nothing Then Exit Sub
        Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
        If xRgKey Is Nothing Then
            MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
        End If
        Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
        For I = 1 To xRgKey.Count
            If I > xRgKey.Count Then Exit For
            xStr = ""
            For J = 1 To xRgVal.Columns.Count
                xStr = xStr & " " & xRgVal(I, J)
            Next
            If xDic.Exists(xRgKey(I).Text) Then
                xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
                xRgKey(I).EntireRow.Delete
                I = I - 1
           Else
                xDic.Add xRgKey(I).Text, xStr
            End If
        Next
        For I = 1 To xRgVal.Count
            xRgVal(I).Value = xDic(xRgKey(I).Text)
        Next
    End Sub
    A screenshot showing pasted VBA code in module window
  4. 按下「F5 」鍵運行腳本,並按照提示選擇您的數據範圍並指定主鍵列。
    A screenshot of the VBA input box prompting for range selection in Excel A screenshot of the VBA input box prompting for key column selection

結果如下所示:
A screenshot showing the concatenated results after running the VBA script

在 Excel 中處理數據時,群組和合併單元格是一項常見但複雜的任務。根據您的需求和工具,您可以選擇多種方法來實現這一目標。根據您的具體需求和偏好選擇最合適的工具和方法,讓您的 Excel 工作更加高效便捷。如果您有興趣探索更多 Excel 技巧, 我們的網站提供了數千個教程,幫助您掌握 Excel

演示:使用 Kutools for Excel 的高級合併行進行群組和合併

 
Kutools for Excel:超過 300 種實用工具任您使用!永久免費享受AI功能!立即下載!

最佳辦公效率工具

🤖 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%,每天為您減少數百次鼠標點擊!