需要求和公式

Fab*_*ian 3 google-sheets google-sheets-formula

我需要帮助在 Google 表格中为以下总和创建公式:

x*(0.95^1+0.95^2+0.95^3+...+0.95^n)
Run Code Online (Sandbox Code Playgroud)

其中 x 是常数,n 是正整数。公式必须适合一个单元格。

小智 5

=x*SERIESSUM(.95,1,1,{1,1,1,1,1})
Run Code Online (Sandbox Code Playgroud)

虽然很可能有现成的统计或财务工作表功能,但您似乎对另一个答案中提供的此公式的结果感到满意。

您只需要生成数组n次,其中n是工作表上一个单元格的值。

INDEX(ROW(1:4), , )返回结果{1, 2, 3, 4}为真数组。

转换{1, 2, 3, 4}{1, 1, 1, 1}在行号周围使用 SIGN 函数“包装器”。

=INDEX(SIGN(ROW(1:4)), , )              'returns {1, 1, 1, 1} as a true array
Run Code Online (Sandbox Code Playgroud)

要改变数组的长度,请使用 INDIRECT 构建 ROW 引用。对于 C10 中的 4,这将返回相同的结果。

=INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,) 'returns {1, 1, 1, 1} as a true array
'proof
=SUM(INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,)) 'returns 4
Run Code Online (Sandbox Code Playgroud)

将其与公式的其余部分放在一起,作为数组模式下 INDEX 的标准公式。

=B10*SERIESSUM(0.95, 1, 1, INDEX(SIGN(ROW(INDIRECT("1:"&C10))),,))
Run Code Online (Sandbox Code Playgroud)

如果您不想在其数组模式下使用 INDEX,您可以省去它并添加一个 ARRAYFORMULA 包装器。

在此处输入图片说明