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

Excel中如何对筛选后区域内的仅负数求和?

筛选后区域内负数求和解决方案(无VBA/辅助列)

方法1:使用AGGREGATE函数(Excel 2010及以上版本适用)

直接用AGGREGATE函数结合条件判断,实现忽略隐藏行的负数求和:

=AGGREGATE(9,6,Total_Range*(Total_Range<0))

公式说明:

  • 9:指定AGGREGATE执行求和操作
  • 6:设置忽略筛选/手动隐藏的行以及错误值
  • Total_Range*(Total_Range<0):将区域内的负数保留原值,正数/0转为0(正数满足<0为FALSE,运算时等价于0)
  • 最终结果仅对筛选后可见的负数求和

方法2:SUMPRODUCT+SUBTOTAL组合(兼容早期Excel版本)

如果使用Excel 2010之前的版本,可通过以下公式实现:

=SUMPRODUCT(Total_Range*(Total_Range<0)*(SUBTOTAL(103,OFFSET(Total_Range,ROW(Total_Range)-MIN(ROW(Total_Range)),0,1))))

公式说明:

  • Total_Range*(Total_Range<0):筛选出负数(正数/0转为0)
  • SUBTOTAL(103,OFFSET(...)):对每个单元格单独判断是否可见(103代表忽略隐藏行的COUNTA,可见单元格返回1,隐藏返回0)
  • SUMPRODUCT:将三个数组对应元素相乘后求和,仅保留可见且为负数的单元格值

注意事项

  • 替换公式中的Total_Range为实际的数据区域(如A2:A100)
  • 两种方法均无需启用宏、无需添加辅助列,完全满足限制条件

内容的提问来源于stack exchange,提问作者Shashank Shet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:30:15