我有时间序列回报,我想根据日期范围获取产品。
=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%
Run Code Online (Sandbox Code Playgroud)
我想要得到 2015 年回报率的乘积。在本例中,它是 99.62%。请帮忙。
对于未排序的日期,请尝试以下数组公式:
=PRODUCT(IF(($A$1:$A$16>=D3)*(A1:A16<=E3),B1:B16))
Run Code Online (Sandbox Code Playgroud)
作为数组公式,退出编辑模式时必须使用 Ctrl-Shift-Enter 进行确认。如果做得正确,Excel 将会包含{}
公式。
由于数组公式中的计算是指数式的,因此请避免使用完整列引用。
如果日期已排序,则可以使用非数组公式:
=PRODUCT(INDEX(B:B,MATCH(D3,A:A)):INDEX(B:B,MATCH(E3,A:A)))
Run Code Online (Sandbox Code Playgroud)