首页 > 解决方案 > 如何在 Google Script 中逐个获取每个标记单元格的增量值

问题描述

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

我已经创建了一个在脚本中调用函数的按钮。我也可以像这样获得我的范围:

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

我能够遍历我的范围,但我无法获取每个单独单元格的值并增加它的值。如何才能做到这一点?

标签: google-apps-scriptgoogle-sheets

解决方案


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);
}

推荐阅读