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

求助SUMPRODUCT双条件求和:匹配列C前缀与列E指定值

解决SUMPRODUCT多条件求和问题

你遇到的问题其实是因为AND函数在数组运算中不会返回对应位置的数组结果,它只会输出单个布尔值,所以没法和SUMPRODUCT配合处理多条件的批量判断。咱们直接用数组相乘的方式来实现多条件筛选就可以了,这也是SUMPRODUCT处理多条件求和的标准写法。

修正后的公式

=SUMPRODUCT(--ISNUMBER(SEARCH("SIGN-";'1. Data'!$C:$C));--('1. Data'!$E:$E="2017-12");'1. Data'!D:D)

公式拆解说明

  • --ISNUMBER(SEARCH("SIGN-";'1. Data'!$C:$C)):和你原来的逻辑一致,判断C列单元格是否包含"SIGN-"文本,--的作用是把布尔值(TRUE/FALSE)转换成1(符合条件)或0(不符合条件)的数值。
  • --('1. Data'!$E:$E="2017-12"):新增的筛选条件,判断E列单元格是否等于"2017-12",同样用--将布尔结果转成数值。
  • SUMPRODUCT会自动将这两个条件数组的对应位置相乘(只有两个条件都满足时,乘积才为1,否则为0),再和D列的数值数组相乘,最后求和,就能得到同时满足两个条件的D列数值总和。

另外补充个精准匹配的小技巧:如果你的需求是C列以"SIGN-"开头(而非包含),可以把SEARCH换成LEFT函数,这样判断更严格:

=SUMPRODUCT(--(LEFT('1. Data'!$C:$C;5)="SIGN-");--('1. Data'!$E:$E="2017-12");'1. Data'!D:D)

这里LEFT('1. Data'!$C:$C;5)提取C列单元格的前5个字符,判断是否等于"SIGN-",完美匹配开头的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:38:59