Excel如何编写仅当另一列有值时对指定列求和的公式?
适配多行的成本求和公式方案
你可以直接使用SUMIF函数实现需求,全版本Excel、WPS表格、Google Sheets均兼容:
- 整列数据通用公式:
=SUMIF(C:C,"<>",B:B)
三个参数分别对应:判断条件的区域(C列价格列)、判断条件(<>代表不为空)、需要求和的区域(B列成本列),公式会自动遍历所有行累加符合条件的成本值,不需要逐行写IF判断。 - 若要优化性能,可指定数据的实际行范围,比如你的商品数据在第2行到第2000行,公式可写为:
=SUMIF(C2:C2000,"<>",B2:B2000)
特殊场景适配
如果C列可能存在填写0的无效商品,你希望仅C列价格大于0时才计算对应成本,可将公式调整为:=SUMIF(C:C,">0",B:B)
兼容旧版软件的备选方案
如果使用的是非常老旧的办公软件版本,也可以用SUMPRODUCT实现同等效果:=SUMPRODUCT(--(C2:C2000<>""),B2:B2000)
公式中--的作用是将「C列不为空」的逻辑判断结果转换为1(符合)和0(不符合),和对应行的成本值相乘后累加,最终得到符合条件的总成本。
内容的提问来源于stack exchange,提问作者ItalianSocc3r10
相关产品推荐
相关产品推荐

