Excel SUMPRODUCT以获取行+;1.

Excel SUMPRODUCT以获取行+;1.,excel,row,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

我有一张如下表:

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列为“a”和C列为“I”的位置向下移动1行。这是我的公式:

=SUMPRODUCT(--(B:B="A"),--(C:C="I"),F:F+1). 
它应该返回值85,但它返回值4。

您可以使用

=SUM((B1:B10="A")*(C1:C10="I")*(D2:D11))
作为带有CtrlShiftEnter的数组公式

并尽可能扩大范围

你的公式怎么了

=SUMPRODUCT(--(B:B="A"),--(C:C="I"),D:D+1)
它只是在D列的每一行上加一个。D1、D3、D5和D7是空单元格,所以计数为零。因此,对于四个匹配的行,它是将一个添加到总数中,结果是4。

如果
=SUMPRODUCT(--(B:B=“A”),--(C:C=“I”),D:D+1)
起作用,则可能只是巧合。您可以通过复制进行检查,并在删除D1时向上移动单元格,然后应用:

=SUMIFS(D:D,B:B,"A",C:C,"I")  
或者,您没有SUMIFS筛选器来删除在列a中不包含日期的行,在列B中删除
a
,在列C中删除
I
,然后对列D求和

对于SUMIFS,@Tom的SUMPRODUCT的替代品可能是:

=SUMIFS(D2:D1000001,B1:B1000000,"A",C1:C1000000,"I")
=SUMPRODUCT(--(B:B=“A”),--(C:C=“I”),D:D+1)这起作用了谢谢
=SUMIFS(D2:D1000001,B1:B1000000,"A",C1:C1000000,"I")