You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R(dplyr)或Excel中合并DataFrame重复行并求和?

重复行合并求和的解决方案(dplyr + Excel)

没问题!不管是用dplyr写代码还是Excel手动操作,都能轻松解决这个重复行合并求和的需求,我给你分别讲清楚:

一、用dplyr快速处理

当然有合适的函数!dplyr里的group_by() + summarise()组合就是专门干这个的,步骤非常直观:

  1. 用group_by(Data)把所有Data列值相同的行归为一组
  2. 用summarise()配合across()对每组里的数值列批量求和

给你写个可以直接用的代码示例:

library(dplyr)

# 假设你的原始数据框名为df
merged_df <- df %>%
  group_by(Data) %>%
  # 对V1到V4列求和,.groups = "drop"是把结果转回普通数据框
  summarise(across(V1:V4, sum), .groups = "drop")

如果你的数值列不是连续的,或者想自动匹配所有数值列,还可以用更灵活的写法:

merged_df <- df %>%
  group_by(Data) %>%
  # 自动识别所有数值列并求和
  summarise(across(where(is.numeric), sum), .groups = "drop")

二、Excel手动合并求和

如果不想写代码,Excel里也有两种简单的方法:

方法1:删除重复值 + SUMIF函数

  1. 选中整个数据区域(包含表头),确保没有空行空列
  2. 点击数据选项卡 → 删除重复值,弹出窗口后只勾选Data列,点击确定——这一步会保留每个Data值的唯一行
  3. 在唯一行的V1单元格输入公式:=SUMIF($A$2:$A$101, A120, $B$2:$B$101)(这里假设原数据在A2:E101,唯一值从A120开始),然后把公式向右拉到V4,再向下拉到所有唯一行
  4. 最后把求和结果复制粘贴为数值,替换空值即可

方法2:分类汇总功能(更高效)

  1. 先按Data列排序:点击数据选项卡 → 排序,选择Data列进行升序/降序排序
  2. 点击数据选项卡 → 分类汇总,在弹出窗口中设置:
    • 分类字段:选择Data
    • 汇总方式:选择求和
    • 选定汇总项:勾选V1、V2、V3、V4
  3. 点击确定后,Excel会自动生成合并求和的结果,还能通过左侧的折叠按钮查看原始明细

内容的提问来源于stack exchange,提问作者CodingIsHardMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:14:21