如何在Google脚本中将每个标记的单元格的增量值加1

时间:2019-10-18 14:05:47

标签: google-apps-script google-sheets

我有一张电子表格,数字分散在几列和几行上。 我希望能够在电子表格中选择多个单元格,并将每个单元格的值增加1。

我已经创建了一个在脚本中调用函数的按钮。我也可以得到如下范围:

var sel = SpreadsheetApp.getActive().getSelection().getActiveRangeList().getRanges();

我可以遍历我的范围,但是我无法获取每个单元格的值并增加它的值。该怎么办?

2 个答案:

答案 0 :(得分:1)

在遍历范围的循环内,您可以简单地获取单元格中的当前值,然后再次设置该值+1。这是最基本的方法,但可能不是最佳方法。

  for(var i in sel){
    var range = sel[i].getValue();
    sel[i].setValue(range + 1);
  }

答案 1 :(得分:0)

getRanges()是一个返回范围列表的函数。为了增加所有值,您必须:

  1. 遍历范围
  2. 使用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);
}