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

Google Sheets公式问题:按年份计算指定供应商采购总额

问题分析与解决方法

原公式返回$0的核心原因是:在数组运算场景中,AND()函数无法处理数组条件,它只会返回单个布尔值(而非对应每一行的布尔数组),导致IF判断无法正确匹配符合条件的行,最终求和结果为0。

正确公式推荐

方法1:使用SUMPRODUCT(更简洁高效)

=SUMPRODUCT(
  ('Online Arbitrage'!A:A=D5)*
  ('Online Arbitrage'!M:M>=DATE(A2,1,1))*
  ('Online Arbitrage'!M:M<=DATE(A2,12,31))*
  ('Online Arbitrage'!N:N>0)*
  'Online Arbitrage'!H:H*
  'Online Arbitrage'!N:N
)

方法2:使用ARRAYFORMULA+SUM

=SUM(ARRAYFORMULA(
  IF(
    ('Online Arbitrage'!A:A=D5)*
    ('Online Arbitrage'!M:M>=DATE(A2,1,1))*
    ('Online Arbitrage'!M:M<=DATE(A2,12,31))*
    ('Online Arbitrage'!N:N>0),
    'Online Arbitrage'!H:H*'Online Arbitrage'!N:N,
    0
  )
))

关键说明

  • 用*替代AND()来组合多个条件:每个条件会返回一个布尔数组(符合为TRUE即1,不符合为FALSE即0),相乘后只有所有条件都满足的行才会保留1,其余为0。
  • 若要提升计算效率,建议将整列引用(如A:A)改为实际数据范围(如A2:A1000),避免计算空行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:56:06