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

求Excel条件加权求和公式:根据B列取值计算A5:A59的加权总和

实现Excel加权求和的解决方案

别担心,这个需求用Excel的SUMPRODUCT函数就能轻松搞定,它专门适配这种多区域乘积求和的场景,而且不需要手动触发数组公式,直接回车就能生效。

核心公式

直接在C4单元格输入下面的公式即可:

=SUMPRODUCT(A5:A59, IF(B5:B59="x", 1, IF(B5:B59=0.8, 0.8, 0)))

公式逻辑拆解

咱们一步步看它怎么工作:

  • 第一部分A5:A59是你需要计算的目标数值区域;
  • 第二部分嵌套的IF函数负责把B列的对应值转换成权重:
    • 当B列单元格值为x时,返回权重1(100%);
    • 当B列单元格值为0.8时,返回权重0.8(80%);
    • 遇到其他值时返回0,意味着这部分数值不会被计入求和结果(如果后续需要新增权重规则,直接在这里添加IF分支就行);
  • SUMPRODUCT会自动把两个区域对应位置的数值相乘,再把所有乘积加总,正好就是你要的加权求和结果。

验证你的测试示例

用你给出的测试数据代入公式:
A5=20、B5=x → 20×1
A6=30、B6=x → 30×1
A7=50、B7=0.8 →50×0.8
计算总和就是20+30+40=90,完全符合预期结果。

更简洁的替代写法

如果你觉得嵌套IF有点繁琐,也可以用布尔运算简化公式:

=SUMPRODUCT(A5:A59, (B5:B59="x")*1 + (B5:B59=0.8)*0.8)

这里的布尔表达式(B5:B59="x")会返回TRUE/FALSE,和数字相乘时会自动转换成1/0,逻辑和嵌套IF完全一致,只是写法更紧凑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 22:07:33