跳至主要内容

在Excel中基于组将行连接到一个单元格的3种方法

Author: Sun Last Modified: 2025-05-08

在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. 选择包括辅助列在内的所有数据区域。选择“数据” > “筛选 以添加 Filter图标 到数据中。
    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 脚本运行时 ”并保存更改。
  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 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!