我有一个存储在频繁更新的索引中的行列表。目前存储在我的索引中的行如下:
[5.0, 11.0, 20.0, 23.0, 33.0, 40.0, 44.0, 49.0, 52.0, 27.0]
这些行中充满了我希望在第4行中相加的数字。
我尝试过以下几种:
for (var x=0; x<index.length;x++){
var totalgeneral = sheet1.getRange(4,14,1,100)
var k = index[x]
totalgeneral.setFormulaR1C1("=SUM(R[1]C[0]:R["+k+"]C[0])")
}
然而,它所做的只是将第四行下面的10行相加,因为这是我索引中的行数。如何进行迭代,使其仅对列表中的行求和?
非常感谢!
脚本在每次迭代过程中都会重写公式。SUM
公式接受多个参数,这些参数应该用逗号分隔。使用map
将所有元素转换为RC
表示法,并使用join
表示法:
const formulaArguments = [5.0, 11.0, 20.0, 23.0, 33.0, 40.0, 44.0, 49.0, 52.0, 27.0]
.map(k => `R[${k}]C[0]`).join();
totalgeneral.setFormulaR1C1("=SUM("+formulaArguments+")")