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

Google Sheets多列条件求和问题:按行列条件计算指定总和

解决SUMIFS数组尺寸不匹配的多条件求和问题

数据表格

ABCDEF
product_typeadoptionadoptionotherretailretail
january1015501220
january1511556110
february20100500100

需求

对B-F列中同时满足以下两个条件的所有数值求和:

  • 第2行的product_type为"adoption"
  • A列的月份为"january"
    预期结果:10+15+15+115=155

问题

尝试使用公式 SUMIFS(B3:F, A3:A, "january", B2:2, "adoption") 时,出现错误提示:Array Arguments to SUMIFS are of different size


错误原因

SUMIFS函数要求所有条件区域与求和区域的尺寸完全一致。原公式中:

  • 求和区域B3:F是3行5列
  • 第一个条件区域A3:A是3行1列
  • 第二个条件区域B2:2是1行5列
    三者尺寸不匹配,导致报错。

正确解法

1. 兼容所有Excel版本:SUMPRODUCT函数

使用SUMPRODUCT处理跨行列的多条件求和,无需考虑区域尺寸匹配:

=SUMPRODUCT((A3:A5="january")*(B2:F2="adoption")*B3:F5)

原理:

  • (A3:A5="january") 生成3行1列的布尔数组,标记哪些行是1月
  • (B2:F2="adoption") 生成1行5列的布尔数组,标记哪些列是adoption类型
  • 两个布尔数组相乘时会自动扩展为3行5列的数组,精准定位同时满足两个条件的单元格
  • 最后与数值区域B3:F5相乘,SUMPRODUCT会对所有符合条件的数值求和

2. Excel 365/2021:动态数组简化公式

如果使用支持动态数组的Excel版本,可直接用SUM结合数组运算:

=SUM((A3:A5="january")*(B2:F2="adoption")*B3:F5)

或者用FILTER函数更直观:

=SUM(FILTER(B3:F5, A3:A5="january") * TRANSPOSE(FILTER(B2:F2, B2:F2="adoption")))

两种解法最终计算结果均为155,符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:20:25