我有一张电子表格,数字分散在几列和几行上。 我希望能够在电子表格中选择多个单元格,并将每个单元格的值增加1。
我已经创建了一个在脚本中调用函数的按钮。我也可以得到如下范围:
var sel = SpreadsheetApp.getActive().getSelection().getActiveRangeList().getRanges();
我可以遍历我的范围,但是我无法获取每个单元格的值并增加它的值。该怎么办?
答案 0 :(得分:1)
在遍历范围的循环内,您可以简单地获取单元格中的当前值,然后再次设置该值+1。这是最基本的方法,但可能不是最佳方法。
for(var i in sel){
var range = sel[i].getValue();
sel[i].setValue(range + 1);
}
答案 1 :(得分:0)
getRanges()
是一个返回范围列表的函数。为了增加所有值,您必须:
getCell()
或getValues()
(速度更快)遍历范围内的每个单元格。您可以看到有关如何使用getValues()
进行操作的代码示例:
var sel = SpreadsheetApp.getActive().getSelection().getActiveRangeList().getRanges();
for (var i=0; i<sel.length; i++) {
var range = sel[i];
var values = range.getValues();
for (var j=0; j<values.length; j++) {
for (var k=0; k<values[0].length; k++) {
values[j][k] += 1;
}
}
range.setValues(values);
}