如何编写带动态字段的Excel SUMPRODUCT公式实现按列条件加权求和
带动态字段的Excel SUMPRODUCT公式实现方案

需求说明
- 绿色单元格:计算第一列中值为90%的对应行activity wtg(活动权重)求和结果
- 粉色单元格:计算第二列中值为95%的对应行activity wtg求和结果
- 蓝色单元格:计算第三列中值为100%的对应行activity wtg求和结果
- 公式需适配大型数据表,支持动态调整无需反复修改结构
实现公式
先做通用区域约定,你可以根据自己的实际数据范围调整参数:
- 活动权重列固定为
A2:A10000(支持万行级大表,可自行修改行号上限) - 匹配条件的三列从左到右为
B2:B10000、C2:C10000、D2:D10000
以下公式兼容所有Excel版本,不需要启用数组公式,大表计算效率稳定。
固定条件公式
对应三个目标单元格的公式直接复制即可使用:
- 绿色单元格公式:
=SUMPRODUCT(--(B2:B10000=90%),A2:A10000) - 粉色单元格公式:
=SUMPRODUCT(--(C2:C10000=95%),A2:A10000) - 蓝色单元格公式:
=SUMPRODUCT(--(D2:D10000=100%),A2:A10000)
更灵活的动态通用公式
如果需要切换匹配列、匹配值不用改公式,可以预先把参数放到单元格中,比如:
- F1单元格填写要匹配的列表头
- G1单元格填写要匹配的目标值
通用公式如下:=SUMPRODUCT(--(INDEX(B2:D10000,0,MATCH(F1,B1:D1,0))=G1),A2:A10000)
该公式会自动定位到你要匹配的列,匹配对应值后求和权重,完全适配大表扩展场景。
内容的提问来源于stack exchange,提问作者Ankur Bajaj
相关产品推荐
相关产品推荐

