如何在Excel中将重复值计为1个后与其他数值求和
解决Excel中B列去重后求和的问题
针对你提供的数据集,要实现将B列重复数值视为单个值后求和,这里有几种实用的方法,适配不同版本的Excel:
方法1:使用UNIQUE + SUM函数(Excel 365/2021及以上)
如果你的Excel支持动态数组函数,这是最简洁的方案:
在任意空白单元格输入公式:
=SUM(UNIQUE(B:B))
UNIQUE(B:B)会提取B列所有唯一值(包括重复出现的0、138159等,都只保留一次)SUM直接对这些唯一值求和,一步到位
方法2:旧版Excel兼容公式(无UNIQUE函数)
对于Excel 2019及更早版本,用SUMPRODUCT结合COUNTIF实现去重求和:
=SUMPRODUCT(B:B/COUNTIF(B:B,B:B))
原理:COUNTIF(B:B,B:B)会计算每个值在B列的出现次数,用每个值除以它的出现次数后,重复值就会被转化为单个值(比如138159出现两次,每次除以2,加起来刚好等于138159),最后通过SUMPRODUCT完成求和。
方法3:数据透视表法(可视化操作)
如果偏好鼠标操作,数据透视表也能轻松实现需求:
- 选中整个数据集(包含表头A、B)
- 点击菜单栏插入 > 数据透视表,选择结果放置位置(比如新工作表)
- 在数据透视表字段面板,把
B字段拖到行区域,再拖一次到值区域 - 点击值区域的
求和项:B,选择值字段设置,确认计算类型为“求和”(默认就是) - 数据透视表的行区域会自动显示B列所有唯一值,底部的总计就是去重后的求和结果
方法4:Power Query法(适合大数据集)
如果数据量较大,Power Query的去重+求和效率更高:
- 选中数据集,点击数据 > 从表格/区域(Excel 2016及以上),进入Power Query编辑器
- 选中
B列,点击开始 > 移除重复项 - 接着点击转换 > 聚合 > 求和,选择
B列作为求和目标 - 点击关闭并上载,结果会自动加载到新工作表中
你的原始数据集(整理后)
| A | B |
|---|---|
| 1122513454 | 0 |
| 1122513460 | 0 |
| 1600041729 | 0 |
| 2100002632 | 147905 |
| 2840007103 | 0 |
| 2840064133 | 138142 |
| 3190300079 | 138040 |
| 3190301011 | 138120 |
| 3680024411 | 0 |
| 4000000263 | 4000000263 |
| 4100002263 | 4100002268 |
| 4880004352 | 138159 |
| 4880015611 | 138159 |
| 4900007044 | 0 |
| 7084781116 | 142967 |
| 7124925306 | 0 |
| 7225002523 | 7225001325 |
| 23012600000 | 0 |
| 80880593057 | 0 |
| 98880000045 | 0 |
内容的提问来源于stack exchange,提问作者Sayam Nandy
相关产品推荐
相关产品推荐

