我的 Google 电子表格中有一个包含所有行和列的范围。我正在遍历每一行。如果我的条件语句为真,我需要在最右列的行中附加一些数据。
关于我如何实现这一目标的任何指示?谢谢!
我的 Google 电子表格中有一个包含所有行和列的范围。我正在遍历每一行。如果我的条件语句为真,我需要在最右列的行中附加一些数据。
关于我如何实现这一目标的任何指示?谢谢!
关键是将范围数据放入数组中;然后遍历数组;然后写回数组。对像单元格这样的电子表格对象进行操作效率相对较低。
function writeRows() {
// This is the named range you have.
var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("myRange");
// Get the data and iterate through it rather than iterate through rows.
var dataarray = range.getValues();
// For each row.
for (var rowpos = 0; rowpos < dataarray.length; rowpos++) {
// Get the row data as array.
var rowdata = dataarray[rowpos];
Logger.log(rowdata.length);
// Update last column in this row.
dataarray[rowpos][rowdata.length - 1] = "value to set";
}
// Now write back the array values into the range.
range.setValues(dataarray);
};
这是我用来将一行附加到电子表格的方法:
var ss = SpreadsheetApp.openById('spredsheetID').getSheets()[0];
var range = ss.getRange(ss.getLastRow()+1, 1, 1, 2);
var values = [[new Date(), mystring]];
range.setValues(values);
它更新前 2 列...