You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel公式咨询:求A列数值末位不为0的行对应的B列数值之和

解决Excel中按数值末位条件求和的问题

嘿,我来帮你搞定这个需求!要计算A列(price)数值末位不为0的行对应的B列(qty)之和,这里有几个实用的Excel公式方案,你可以根据自己的Excel版本选择:

方案1:SUMPRODUCT函数(兼容所有Excel版本)

这个公式适配所有版本的Excel,不需要特殊按键操作:

=SUMPRODUCT(--(RIGHT(TRIM(TEXT(A:A,"0.########")),1)<>"0"), B:B)

公式拆解:

  • TEXT(A:A,"0.########"):把A列数值转换成无末尾零的文本格式,避免因单元格显示格式误差导致的判断错误
  • TRIM():去除转换后文本的多余空格,确保提取的最后一位准确
  • RIGHT(...,1):提取转换后文本的最后一位字符
  • --(...):将布尔判断结果(TRUE/FALSE)转换为1或0,方便后续相乘求和
  • 最后与B列对应单元格相乘,SUMPRODUCT会自动完成求和运算

如果你的A列存在非数值单元格(比如文本、空值),可以添加一层过滤条件:

=SUMPRODUCT(--(ISNUMBER(A:A)), --(RIGHT(TRIM(TEXT(A:A,"0.########")),1)<>"0"), B:B)

方案2:FILTER+SUM组合(适合Excel 365/2021及以上版本)

如果你使用的是支持动态数组的Excel版本,这个公式逻辑更直观:

=SUM(FILTER(B:B, RIGHT(TRIM(TEXT(A:A,"0.########")),1)<>"0"))

公式拆解:

  • FILTER(B:B, ...):直接筛选出B列中满足"A列数值末位不为0"条件的所有值
  • SUM():对筛选后的结果求和,步骤清晰易懂

验证示例

用你给出的测试案例验证:A列是44.0313和44.0399,对应的B列是250和100,使用上面任意一个公式,都会得到350的正确结果。

内容的提问来源于stack exchange,提问作者Tom Lau

火山引擎 最新活动