KutoolsforOffice — 一套方案,五大工具。事半功倍。

在 Excel 中合并重复行并对其值求和(简单技巧)

作者Xiaoyang修改日期

在 Excel 中,数据集中常会出现重复条目。您很可能遇到这样的情况:关键挑战在于如何高效合并重复行,并对其对应列中的数值进行求和(如下图所示)。本文将深入介绍几种实用方法,助您轻松整合重复数据、汇总关联值,显著提升 Excel 工作表的清晰度与实用性。


使用“合并计算”功能合并重复行并对值求和

“合并计算”是 Excel 中用于整合多个工作表或数据行的实用工具。借助这一功能,您可以快速、轻松地合并重复行,并对其对应的数值自动求和。请按以下步骤操作:

步骤 1:选择目标单元格

请选择您希望合并后数据显示的位置。

步骤 2:访问“合并计算”功能并设置合并选项

  1. 单击“数据”>“合并计算”,参见截图:
    Excel 功能区中“合并计算”选项的截图
  2. 在“合并计算”对话框中:
    • (1.)从“函数”下拉列表中选择“求和”;
    • (2.)单击以在“引用位置”框中选择要用于合并计算的区域;
    • (3.)勾选“标签位置”下的“首行”和“最左列”选项;
    • (4.)最后,单击“确定”按钮完成操作。
    • “合并计算”对话框中的选项截图,包括函数、引用以及在设置中使用标签

结果:

Excel 将合并第一列中发现的所有重复项,并对其相邻列中的对应值求和(如下图所示):

Excel 合并后的截图,显示已合并的重复行及求和后的数值

注意事项:
  • 如果所选区域不含标题行,请务必取消勾选“标签位置”选项中的“首行”。
  • 使用此功能时,计算仅能基于数据的最左侧列(即第一列)进行合并。

使用 Kutools 合并重复行并对值求和

如果您已安装“Kutools for Excel”,其“高级合并行”功能可轻松合并重复行,并支持对数据进行求和、计数、平均值等多样化计算。更强大的是,该功能不仅限于单个关键列,还能同时处理多个关键列,让复杂的数据合并任务变得轻而易举。

Kutools for Excel 提供超过 300 项高级功能,简化复杂任务,提升创造力与效率。集成 AI 功能,Kutools 能精准自动化任务,让数据管理变得毫不费力。有关 Kutools for Excel 的详细信息……         免费试用……

安装“Kutools for Excel”后,选中数据区域,然后依次点击“Kutools” > “合并和拆分” > “高级合并行”。

在“高级合并行”对话框中,请进行以下设置:

  1. 单击您希望基于其合并重复项的列名,此处我将单击“产品”,然后在“操作”列的下拉列表中选择“主键”;
  2. 然后,选择您希望对其求和的列名,并在“操作”列的下拉列表中选择“求和”;
  3. 对于其他列,您可以选择所需的操作,例如使用特定分隔符合并数值或执行某种计算;(如果仅有两列,此步骤可省略)
  4. 最后,您可以预览合并结果,然后点击“确定”按钮。
  5. Kutools 的“高级合并行”对话框截图,包含合并重复项和求和值的选项

结果:

现在,关键列中的重复值已被合并,其他对应值也已求和(如下图所示):

使用 Kutools 在 Excel 中合并重复行并求和结果的截图

提示:
  • 借助这一实用功能,您还可以根据重复单元格值进行合并行,如下方演示所示:
    使用 Kutools 在 Excel 中根据重复值合并行的动画演示
  • 此功能支持撤销操作,如需恢复原始数据,只需按下“Ctrl + Z”即可。
  • 要使用此功能,请 下载并安装 Kutools for Excel

使用数据透视表合并重复行并对值求和

Excel 中的数据透视表为您提供了一种动态灵活的方式来重新排列、分组并汇总数据,尤其适用于处理包含大量重复条目的数据集,并快速对相应数值进行求和。

步骤 1:创建数据透视表

  1. 选择所需的数据区域,然后切换到“插入”选项卡,单击“数据透视表”(参见截图):
    从 Excel“插入”选项卡中选择“数据透视表”选项的截图
  2. 在弹出的对话框中,选择您希望放置数据透视表的位置——可将其置于新工作表或现有工作表中,然后单击“确定”。参见截图:
    “数据透视表”对话框截图,可选择将表格插入新工作表或现有工作表
  3. 现在,数据透视表已插入到所选的目标单元格中。参见截图:
    Excel 工作表中已插入空白数据透视表的截图

步骤 2:配置数据透视表:

  1. 在“数据透视表字段”窗格中,将包含重复项的字段拖至“行”区域,即可自动对重复项进行分组。
  2. 接下来,请将包含要汇总数值的字段拖入“值”区域。默认情况下,Excel 会自动对这些数值求和。效果如下所示:
  3. 配置数据透视表字段以在 Excel 中对重复项分组并求和的动画演示

结果:

数据透视表现已合并重复项并对数值求和,为您呈现清晰简洁的分析视图。参见截图:

使用 Excel 数据透视表合并重复行并求和结果的截图


使用 VBA 代码合并重复行并对值求和

如果您对 VBA 代码感兴趣,本节将为您提供一段实用的 VBA 代码,用于合并重复行并对其他列中的对应数值求和。请按以下步骤操作:

步骤 1:打开 VBA 工作表模块编辑器并复制代码

  1. 在 Excel 中按住 Alt + F11 键,即可打开“Microsoft Visual Basic for Applications”窗口。
  2. 单击“插入”>“模块”,并将以下代码粘贴到“模块”窗口中。
    VBA 代码:合并重复行并对值求和
    Sub CombineDuplicateRowsAndSumForMultipleColumns()
    'Update by Extendoffice
        Dim SourceRange As Range, OutputRange As Range
        Dim Dict As Object
        Dim DataArray As Variant
        Dim i As Long, j As Long
        Dim Key As Variant
        Dim ColCount As Long
        Dim SumArray() As Variant
        Dim xArr As Variant
        Set SourceRange = Application.InputBox("Select the original range:", "Kutools for Excel", Type:=8)
        If SourceRange Is Nothing Then Exit Sub
        ColCount = SourceRange.Columns.Count
        Set OutputRange = Application.InputBox("Select a cell for output:", "Kutools for Excel", Type:=8)
        If OutputRange Is Nothing Then Exit Sub
        Set Dict = CreateObject("Scripting.Dictionary")
        DataArray = SourceRange.Value
        For i = 1 To UBound(DataArray, 1)
            Key = DataArray(i, 1)
            If Not Dict.Exists(Key) Then
                ReDim SumArray(1 To ColCount - 1)
                For j = 2 To ColCount
                    SumArray(j - 1) = DataArray(i, j)
                Next j
                Dict.Add Key, SumArray
            Else
                xArr = Dict(Key)
                For j = 2 To ColCount
                    xArr(j - 1) = xArr(j - 1) + DataArray(i, j)
                Next j
                Dict(Key) = xArr
            End If
        Next i
        OutputRange.Resize(Dict.Count, ColCount).ClearContents
        i = 1
        For Each Key In Dict.Keys
            OutputRange.Cells(i, 1).Value = Key
            For j = 1 To ColCount - 1
                OutputRange.Cells(i, j + 1).Value = Dict(Key)(j)
            Next j
            i = i + 1
        Next Key
        Set Dict = Nothing
        Set SourceRange = Nothing
        Set OutputRange = Nothing
    End Sub
    

步骤 2:执行代码

  1. 粘贴此代码后,请按“F5”键运行。在弹出的提示框中,选择您要合并并求和的数据区域,然后单击“确定”。
    在 VBA 输入框中选择用于合并和求和重复行的数据范围的截图
  2. 接着,在下一个提示框中选择一个用于输出结果的单元格,然后单击“确定”。
    在 VBA 输入框中选择合并及求和结果输出单元格的截图

结果:

现在,重复行已合并,对应的值也已自动求和。参见截图:

运行 VBA 代码合并重复行并对其数值求和后的结果截图


在 Excel 中合并并汇总重复行,既简单又高效!您可以根据自身技能和需求,灵活选择最适合的解决方案:简便的“合并计算”功能、强大的 Kutools 工具、分析利器数据透视表,或高度灵活的 VBA 编程。想掌握更多 Excel 实用技巧?我们网站提供数千篇教程,点击此处访问立即提升效率!感谢阅读,期待持续为您呈现更多精彩内容!


相关文章:

  • 根据重复项将多行合并为一行
  • 例如,您有一组数据,A 列(产品名称)中存在重复项,现在需要删除 A 列中的重复条目,同时合并 B 列中对应的数值。在 Excel 中该如何操作?
  • Vlookup 并返回多个不重复的值
  • 有时,您可能希望一次性通过 VLOOKUP 将多个匹配值返回到一个单元格中。但如果返回结果中包含重复值,如何在保留所有匹配项的同时自动忽略重复项,仅显示唯一值?如下图所示(Excel 截图)。
  • 根据相同 ID/名称合并行
  • 例如,您有如下图所示的表格,需要根据订单 ID 合并行,有什么方法吗?本文将为您介绍两种高效解决方案。