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

Google Sheets中带多OR数组常量的SUM(COUNTIFS())公式问题

Google Sheets 按月统计特定水果状态数量的解决方案

以下是几个适配Google Sheets特性的可行公式,解决你统计「指定月份下,状态为Eaten/Half Eaten的Apple/Orange数量」的需求:

方案1:FILTER + COUNTA(直观易读)

用FILTER筛选符合所有条件的行,再通过COUNTA统计数量:

=COUNTA(FILTER(H:H, H:H=A2, (I:I="Apple")+(I:I="Orange"), (J:J="Eaten")+(J:J="Half Eaten")))
  • 公式里的+等价于逻辑「或」,只要满足其中一个条件就会被计入统计
  • 建议将整列引用(如H:H)替换成实际数据范围(如H2:H1000),提升计算效率

方案2:SUMPRODUCT(高效统计)

修正你之前的SUMPRODUCT写法,直接用比较运算符生成布尔数组:

=SUMPRODUCT((H:H=A2)*((I:I="Apple")+(I:I="Orange"))*((J:J="Eaten")+(J:J="Half Eaten")))
  • 布尔值会自动转换为1(真)或0(假),只有当所有条件都为真时,相乘结果才为1,最终对所有符合条件的行求和

方案3:COUNTIFS + ARRAYFORMULA(适配Excel使用习惯)

调整数组维度,让Google Sheets能正确解析交叉条件:

=SUM(ARRAYFORMULA(COUNTIFS(H:H,A2,I:I,{"Apple","Orange"},J:J,TRANSPOSE({"Eaten","Half Eaten"}))))
  • 用TRANSPOSE将状态条件的纵向数组转为横向,和水果条件的纵向数组交叉,生成4种条件组合的统计结果,最后求和

你之前的公式无效原因

  1. 第一个COUNTIFS数组写法:Excel会自动处理纵向+横向数组的交叉组合,但Google Sheets需要显式用TRANSPOSE调整维度,或通过ARRAYFORMULA扩展计算
  2. 第二个SUMPRODUCT里的MATCH(H:H,A2,0):MATCH返回的是匹配位置(非布尔值),无法直接用于逻辑判断,应替换为H:H=A2生成布尔数组来验证月份匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 06:05:10