Excel技术需求:按Column A的产品ID汇总Column B值并填充Column C
Excel按产品编码汇总对应列数值的一步式公式方案
需求说明
现有数千行数据的Excel表格:
- Column A:产品唯一编码
- Column B:仅包含0/1的数值
- 需要在Column C的每一行,填充对应Column A编码的所有Column B数值之和(示例如下)
| Column A | Column B | Column C |
|---|---|---|
| X | 1 | 5 |
| Y | 0 | 2 |
| Y | 1 | 2 |
| Z | 0 | 1 |
| X | 1 | 5 |
| X | 1 | 5 |
| Z | 1 | 1 |
| X | 1 | 5 |
| Z | 0 | 1 |
| X | 1 | 5 |
| X | 0 | 5 |
| Z | 0 | 1 |
| Y | 1 | 2 |
注:示例中X对应B列总和为5,Y为2,Z为1,需直接在Column C用公式一步实现,无需额外工作表或中间步骤。
解决方案
1. 兼容所有Excel版本的公式
在C2单元格输入以下公式,然后下拉填充至所有行:
=SUMIF($A:$A, A2, $B:$B)
参数解释:
$A:$A:绝对引用整个A列作为匹配条件的区域,确保下拉时区域不偏移A2:相对引用当前行的产品编码,下拉时自动对应每行的A列值$B:$B:绝对引用整个B列作为求和区域
2. Excel 365/2021及以上版本的动态数组公式(无需下拉)
直接在C2单元格输入以下公式,公式会自动溢出填充至所有行:
=SUMIF($A:$A, $A:$A, $B:$B)
或更高效的BYROW+LAMBDA组合:
=BYROW($A:$A, LAMBDA(x, SUMIF($A:$A, x, $B:$B)))
优化建议
如果数据量极大(上万行),建议用具体数据区域代替整列引用(比如$A$2:$A$10000),减少空行计算,提升运行效率。
内容的提问来源于stack exchange,提问作者ABoyco
相关产品推荐
相关产品推荐

