使数组中的行的长度变得灵活

我拥有的公式是这样的:

{=PRODUCT((1-0.1)^(ROW(A$1:A$2)-1))} 

但是,我想使ROW的长度取决于单元格中的值(例如B1)。 我的解决scheme迄今为止是这样的

 {=PRODUCT((1-0.1)^(ROW(INDIRECT("A$1:A$"&B1))-1))} 

鉴于INDIRECT是不稳定的,我对这个解决scheme并不满意。 所以问题是:有没有解决这个问题,而不使用一个易失性函数的另一种方法?

谢谢!

编辑:将小数点分隔符从0.1更改为0.1

大多数时间 – 不是所有时间 – INDIRECT解决scheme可以用INDEX替代。

在这种情况下:

 {=PRODUCT((1-0.1)^(ROW(A$1:INDEX($A:$A,B1))-1))} 

在这种特殊情况下,这个解决scheme也不是100%的满意度,因为每当A列中A一个值被改变时INDEX都会被重新计算。 在这种情况下这不是必须的,因为只需要列A的行号。 但是,这将比一个易失性函数更好,每次在表格中的某个值将被改变时,该函数将被重新计算。