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

如何用SUMIFS函数逐行对比B、C列并求和A列符合条件的值?

解决Excel逐行匹配B=C时A列求和的问题

我懂你遇到的痛点了——用SUMIFS(A:A,B:B,"="&C2)只能揪出B列等于C2的行,没法实现逐行对应判断B列和C列是否相等,而且你不想用辅助列绕弯子,这事儿用SUMPRODUCT或者动态数组版的SUM就能直接搞定。

方法1:SUMPRODUCT(兼容所有Excel版本)

直接套用这个公式就行:

=SUMPRODUCT(--(B:B=C:C), A:A)

公式拆解:

  • B:B=C:C:逐行对比B列和C列的单元格,生成一个由TRUE(相等)和FALSE(不等)组成的隐形数组。
  • --(...):把布尔值TRUE/FALSE转换成数值1/0——只有转成数字才能参与后续的乘法运算,相当于给符合条件的行打个"1分"标记。
  • SUMPRODUCT会把两个数组对应位置的元素相乘(相等行的A值×1,不等行×0),最后把所有结果加起来,自然就只保留了B=C的那些行的A列数值总和。

方法2:SUM+数组公式(适用于Excel 365/2021及以后版本)

如果你用的是支持动态数组的新版Excel,也可以用这个更简洁的写法:

=SUM(IF(B:B=C:C, A:A, 0))

旧版Excel需要按Ctrl+Shift+Enter作为数组公式输入,新版直接回车就能生效。

为啥你的SUMIFS不好使?

SUMIFS的逻辑是在整个B列里找等于C2的单元格,然后对对应的A列求和——它的条件是针对整个区域的单个匹配值,没法实现逐行的Bn=Cn对应判断,这才会出现只能匹配C2的问题。

举个实际例子,假设你的数据是:

ABC
155
234
322
467

用上面的公式计算,结果会是1+3=4,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:26:38