SUMPRODUCT获得第+1行

时间:2015-10-04 17:39:15

标签: excel row

我有一张如下表:

12/7/2012   A   B   
                     100    

12/21/2012  A   I   
                     20

12/23/2012  A   I   
                     25     

12/1/2013   A   I   
                     20     

12/1/2014   A   I   
                     20

我想得到D栏中的值,其中B列为" A"而C列是" I"。我使用了一个sumproduct来获取D列中的值,但是我需要从B列所在的位置向下排成一行#34; A"而C列是" I"。这是我的公式:

=SUMPRODUCT(--(B:B="A"),--(C:C="I"),F:F+1). 

它应返回值85,但返回值为4。

2 个答案:

答案 0 :(得分:1)

您可以使用

=SUM((B1:B10="A")*(C1:C10="I")*(D2:D11))

作为数组公式, Ctrl Shift 输入

=SUMPRODUCT(--(B1:B10="A"),--(C1:C10="I"),(D2:D11))

并根据需要扩展范围。

您的公式会发生什么?

=SUMPRODUCT(--(B:B="A"),--(C:C="I"),D:D+1)

是它只是在列D中的每一行添加一个.D1,D3,D5和D7是空单元格,因此计为零。因此,对于四个匹配的行,它将总数加1,结果为4。

答案 1 :(得分:0)

如果=SUMPRODUCT(--(B:B="A"),--(C:C="I"),D:D+1)工作,可能只是巧合。您可以通过复制来检查,然后使用Shift单元删除D1,然后应用:

=SUMIFS(D:D,B:B,"A",C:C,"I")  

或者您没有SUMIFS过滤器来删除ColumnA中不包含日期的行,ColumnB中的A和ColumnC中的I,然后汇总ColumnD。

使用SUMIFS替代@ Tom的SUMPRODUCT可能是:

=SUMIFS(D2:D1000001,B1:B1000000,"A",C1:C1000000,"I")