我有一张如下表:
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。
答案 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")