如何在锯齿和范围内使用SUMIF公式

时间:2020-02-20 21:23:34

标签: excel-formula

我有一个问题,我需要求和的单元格位于两列之一。举个例子:我有一个ID字段,我将对其进行汇总。每个条目都有一个v1值,可能还有一个v2值。我需要以v1值进行求和,除非v2单元格不是空白,在这种情况下,我将使用v2值。

一种方法是添加一个额外的列(我称它为select(v)),该列执行条件IF公式以选择要求和的值。然后,我可以简单地将此多余的列用作sum_range公式中的SUMIF

enter image description here

假设此数据从A1单元格开始,我的select(v)公式将为

=IF(ISBLANK(C2),B2,C2)

然后我的小计公式为

=SUMIF($A:$A,A2,$D:$D)

是否有一种无需使用此额外的select(v)列即可完成此小计的方法?

2 个答案:

答案 0 :(得分:2)

可能是以下情况:

=SUMIFS(B:B,A:A,A2,C:C,"")+SUMIFS(C:C,A:A,A2)

enter image description here

答案 1 :(得分:2)

快速肮脏的SUMPRODUCT:

=SUMPRODUCT(((($C$2:$C$7<>"")*$C$2:$C$7)+(($C$2:$C$7="")*$B$2:$B$7))*($A$2:$A$7=A2))

enter image description here


或者如果有人具有动态数组公式FILTER:

=SUM(FILTER(CHOOSE(($C$2:$C$7="")+1,$C$2:$C$7,$B$2:$B$7),$A$2:$A$7=A2))

enter image description here