Excel:产品如果?

我有时间系列的回报,我想获得基于date范围的产品。 =product(if($B:$B,A:A,">="&$A$2,A:A,"<="&A13))将不起作用,因为此函数的参数太多。 这里是一个例子,

 12/31/2014 100.30% 01/31/2015 100.72% 02/28/2015 102.00% 03/31/2015 101.04% 04/30/2015 99.79% 05/31/2015 101.04% 06/30/2015 99.46% 07/31/2015 100.71% 08/31/2015 97.05% 09/30/2015 96.21% 10/31/2015 101.88% 11/30/2015 100.21% 12/31/2015 99.68% 01/31/2016 98.06% 02/29/2016 97.74% 03/31/2016 100.83% 

我想从2015年获得收益的产品,在这种情况下是99.62%。 请帮忙。

对于未sorting的date,请尝试这个数组公式:

 =PRODUCT(IF(($A$1:$A$16>=D3)*(A1:A16<=E3),B1:B16)) 

作为数组公式,在退出编辑模式时,必须用Ctrl-Shift-Enter确认。 如果做得正确,Excel将在公式周围放置{}

由于计算在数组公式中是指数的,因此应避免使用完整的列引用。

在这里输入图像说明


如果datesorting,则可以使用非数组公式:

 =PRODUCT(INDEX(B:B,MATCH(D3,A:A)):INDEX(B:B,MATCH(E3,A:A))) 

在这里输入图像说明