我是一名相当业余的编码员,但我有searched的解决方案,并没有提出任何建议。
我在Google工作表中工作,我想要做的是将两个不同列中同一行的值一起添加。我已经尝试了数组但是无法将第一个数组A添加到数组B中的第一个元素,因此我创建了代码,它工作正常,但它似乎太浪费了(我有21行要加在一起)。
你能否至少引导我到正确的位置来减肥呢?
var bd1 = data.getRange("K3");
var bn1 = data.getRange("H3").getValue();
var bo1 = data.getRange("K3").getValue();
var bs1 = bn1+bo1;
bd1.setValue(bs1);
var bd2 = data.getRange("K4");
var bn2 = data.getRange("H4").getValue();
var bo2 = data.getRange("K4").getValue();
var bs2 = bn2+bo2;
bd2.setValue(bs2);
...
答案 0 :(得分:1)
我知道您已经接受了最佳答案,但在Google Apps脚本中进行电子表格API调用时,只有best practice to do them in batches {。}}。
你提到你这样做了21行;因此,我将首先排除所有21行的getValues()
(将返回Javascript 2D数组),使用纯Javascript对该数组进行处理,然后一次性setValues()
:
var values1 = data.getRange("H3:H23").getValues();
var range2 = data.getRange("K3:K23");
var values2 = range2.getValues();
for (var i = 0, length = values1.length; i < length; i++)
values2[i][0] += values1[i][0];
range2.setValues(values2);
答案 1 :(得分:0)
这是一种方法:
var add2Cells = function(labelA, labelB) {
var cellA = data.getRange(labelA);
var cellB = data.getRange(labelB);
cellA.setValue(cellB.getValue() + cellA.getValue());
};
add2Cells("K3", "H3");
add2Cells("K4", "H4");
此时,您可以制作一系列细胞对,然后将其传入您的add2Cells
函数。