跳到主要内容
 

如何基于一个列的值快速合并行,然后在Excel中进行一些计算?

作者:孙 最后修改时间:2020-05-28

例如,您有一系列数据,并且一列具有重复项,现在您想以A列(具有重复项)为基础合并行,然后根据合并的行对另一列进行一些计算,如屏幕截图所示:

在Excel中,没有一种快速的方法可以基于一个列的值合并行,但是在这里我介绍
技巧,可以帮助您合并重复的行,然后对另一列求和或进行其他计算。


箭头蓝色右气泡 基于一列合并行,然后使用VBA对值求和

有一个VBA代码可以帮助您合并重复的行,然后对另一个列的值求和。

分页浏览和编辑多个Excel工作簿/ Word文档,例如Firefox,Chrome,Internet Explore 10!

您可能熟悉在 Firefox/Chrome/IE 中查看多个网页,并通过单击相应的选项卡轻松在它们之间切换。在这里,Office Tab 支持类似的处理,允许您在一个 Excel 窗口或 Word 窗口中浏览多个 Excel 工作簿或 Word 文档,并通过单击选项卡轻松在它们之间切换。 免费点击 30Office Tab 试用一天!

1。 按 F11 + Alt 启用键 Microsoft Visual Basic应用程序 窗口,然后单击 插页 > 模块 并将以下VBA代码复制并粘贴到新 模块 窗口。

VBA:基于一个列值合并行

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2。 按 F5 或按一下 运行 按钮以运行VBA,并弹出一个对话框,用于选择要工作的数据范围。 看截图:

doc合并基于一列的列3

3.选择工作范围后,单击 OK。 现在,数据已被第一列合并,并在第二列中求和。

doc合并基于一列的列4

备注:此VBA代码仅在基于第一列合并第二列中的值时才能正确工作。


箭头蓝色右气泡 基于一列合并行,然后使用“高级合并行”对值求和

如果您不熟悉VBA代码,则可以使用 高级组合行 第三方插件工具的功能– Kutools for Excel 轻松快速地合并重复行,然后将值累加到另一列中。

免费安装 Kutools for Excel,请执行以下操作:

1.选择要使用的数据,然后单击 库工具 > 合并与拆分 > 高级组合行。 看截图:

doc高级合并行1

2.然后在弹出对话框中,选择要合并其他列的列,然后单击 键,然后单击另一列,然后单击 计算 然后选择 总和.

Tips::如果您选择的范围包含标题,请检查 我的数据有标题,并检查 使用格式化的值 合并后将保留格式。

doc合并基于一列的列6

3。 然后点击 Ok。 现在,已经根据主列合并了数据,并对另一个进行了汇总。 看截图:

doc合并基于一列的列7


箭头蓝色右气泡 基于一列合并行,然后使用“高级合并行”对其他列执行不同的操作。

高级组合行 之所以功能强大,是因为它不仅可以合并一列中的重复行,然后对另一列求和,还可以合并一列中的重复行,然后对其他列进行不同的操作。

假设我有一系列数据,如下面的屏幕快照所示,并且我想同时结合B列中的值和C列中基于A列的值之和。
doc合并基于一列的列8

免费安装 Kutools for Excel,请执行以下操作:

1.选择数据范围,然后单击 库工具 > 合并与拆分 > 高级组合行。 看截图:

doc高级合并行1

2.在 根据列合并行 对话框,执行以下操作:

(1)单击要合并的列,然后单击 首要的关键;

doc合并基于一列的列10

(2)单击要合并数据的列,然后单击 结合,然后从列表中选择一个所需的分隔符;

doc合并基于一列的列11

(3)单击要对值求和的列,然后单击 计算,然后选择 总和.

doc合并基于一列的列12

3。 点击 Ok。 现在您可以看到如下结果:

doc合并基于一列的列13

高级组合行 功能,您还可以根据一列合并行,然后对其他列进行计数,平均,保留第一个或最后一个数据。 

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

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


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!