3

很久没写代码了。我以前从未研究过谷歌电子表格的脚本。我只想制作一个简单的效果来编辑电子表格。如果我理解正确,只要您手动运行它是可行的吗?

语法太让我失望了。我的基本目标是将固定列范围中的每个单元格设置为等于自身加上相邻列中的值,然后将第二个值设置为 0。

我的直觉是做一些事情,比如

CellRange[i][j] selected = C9:D13;
for(i=0,i<selectedrange.length,i++){
SpreadsheetApp.getActiveRange().setValue(selected[i][j]+selected[i][j+1];
SpreadsheetApp.getRange(selected[i][j+1]).setValue(0);
}

这可能是非常错误的,但我觉得我应该在寻求帮助之前至少把我最好的猜测拿出来。

4

1 回答 1

2

比如说,目标是通过将 D 中的值与 C 中的值相加,然后将 D 设置为零来处理范围 C9:D13。代码如下所示:

function addColumns() {
  var sheet = SpreadsheetApp.getActiveSheet(); // or getSheetByName
  var range = sheet.getRange("C9:D13");
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    values[i][0] = values[i][0] + values[i][1];
    values[i][1] = 0;
  }
  range.setValues(values);
}

在这里,values[i][0]表示我们正在处理的范围(即 C)中的第一列的值,并values[i][1]指代第二列。JavaScript 数组的索引从 0 开始,这与电子表格中的行编号不同。

于 2016-12-19T05:33:16.557 回答