Excel 2010 - 具有日期条件的sumproduct

时间:2015-07-10 05:55:53

标签: excel-2010

我有一个计算每个财政年度每个帐户的利息的公式。 单元格A是交易日期 单元格B是银行,例如。 CBA 单元格C是帐户类型,例如。智能访问 单元格D是交易描述,因此如果描述例如。利益 单元格E是金额

这个公式起作用:

=IF(AND($A$2<>"Date",$A$2:$A$724 >= DATEVALUE("01/07/2014"),$A$2:$A$724 < DATEVALUE("01/07/2015")),SUMPRODUCT(($B$2:$B$724=$I2)*($C$2:$C$724=$J2)*($D$2:$D$724="Interest")*($E$2:$E$724)))

但当我更新公式时,&#34; DATEVALUE(&#34; 01/07 / 2016&#34;)&#34;要改变财政年度,我现在得到的结果是假的

=IF(AND($A$2<>"Date",$A$2:$A$724 >= DATEVALUE("01/07/2015"),$A$2:$A$724 < DATEVALUE("01/07/2016")),SUMPRODUCT(($B$2:$B$724=$I2)*($C$2:$C$724=$J2)*($D$2:$D$724="Interest")*($E$2:$E$724)))

示例数据

Date            Bank/ADI     Account        Transaction Description Amount
30/06/2015  CBA          Smart Saver    Interest                $100.00

有人可以帮助我做错了吗?

1 个答案:

答案 0 :(得分:0)

我会谦卑地建议你放弃旧的SUMPRODUCT function,而选择效率更高的SUMIFS function

=SUMIFS($E:$E,$A:$A, ">="&DATE(2014, 7, 1),$A:$A, "<"&DATE(2015, 7, 1),$B:$B, $I2,$C:$C, $J2,$D:$D, "Interest")

或者,在J1中 2014

=SUMIFS($E:$E,$A:$A, ">="&DATE($J$1, 7, 1),$A:$A, "<"&DATE($J$1+1, 7, 1),$B:$B, $I2,$C:$C, $J2,$D:$D, "Interest")

在J1中 01-Jul-2014

=SUMIFS($E:$E,$A:$A, ">="&$J$1, $A:$A, "<"&EDATE($J$1, 12),$B:$B, $I2,$C:$C, $J2,$D:$D, "Interest")

我真的不明白AND($A$2<>"Date",$A$2:$A$724 >= DATEVALUE("01/07/2015"),$A$2:$A$724 < DATEVALUE("01/07/2016"))部分在标准配方公式中想要完成的内容,但SUMIFS可以很容易地补偿日期标准。您可以更轻松地将年份(或会计年度的BOM)放入单元格并引用它。