2015-10-04 53 views
1

我有一个表像下面:SUMPRODUCT让行+1

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是“我”的价值。我使用了一个sumproduct来获得D列的值,但是我需要从B列为“A”而C列为“I”的地方往下走1行。这是我的公式:

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

应该返回85的值,但它返回的4

回答

1

的值,您可以使用

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

数组公式与Ctrl键移位输入

=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.

+0

= SUMPRODUCT( - (B:B = “A”), - (C:C = “I”),d: D + 1)这工作。 - 谢谢。 – paul

0

如果=SUMPRODUCT(--(B:B="A"),--(C:C="I"),D:D+1)工作,它可能只是巧合。

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

你或者没有SUMIFS过滤器删除不包含ColumnA日期排在ColumnB,A:您可能采取的副本,并在删除D1与移动单元格了,然后申请检查和ColumnC中的I,然后求和ColumnD。

随着SUMIFS到@替代汤姆的SUMPRODUCT可能是:

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