Excel:产品如果?

T-T*_*T-T 5 excel

我有时间序列回报,我想根据日期范围获取产品。 =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%。请帮忙。

Sco*_*ner 6

对于未排序的日期,请尝试以下数组公式:

=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)

在此输入图像描述