SUMPRODUCT获得行+1

我有一个如下表格:

12/7/2012 AB 100 12/21/2012 AI 20 12/23/2012 AI 25 12/1/2013 AI 20 12/1/2014 AI 20 

我想获得列D中的值,其中列B是“A”,列C是“我”。 我使用了一个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)) 

作为使用Ctrl Shift Enter的数组公式

要么

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

并尽可能扩大范围。

你的公式会发生什么?

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

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

如果=SUMPRODUCT(--(B:B="A"),--(C:C="I"),D:D+1)可能只是巧合。 你可以通过一个副本进行检查,在删除D1和Shift单元格然后申请:

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

或者您没有SUMIFS筛选器来删除ColumnA中不包含date的行,ColumnB中的A和列C中的I ,然后求和ColumnD。

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

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