Google Apps脚本查找值和设置值无效

时间:2018-02-07 23:55:09

标签: google-apps-script

上下文是Google表格。我的脚本应该在列A中找到包含内容Cell 1的单元格,然后将该行中的B和C列设置为Cell 2Cell 3。不幸的是,尽管重复了这么多次,我似乎无法让它发挥作用。

var sheet = SpreadsheetApp.getActiveSheet();
for (var i = 1; i<sheet.getLastRow(); i++) {
  var value = sheet.getRange(i, 1).getValue();
  if (value == "Cell 1") {
    sheet.getRange(i, 2).setValue("Cell 2");
    sheet.getRange(i, 3).setValue("Cell 3");
  }
}

你能帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在您的脚本中for (var i = 1; i<sheet.getLastRow(); i++) {}i<sheet.getLastRow()。这意味着不检索最后一行的值。所以请修改

来自:

for (var i = 1; i<sheet.getLastRow(); i++) {

致:

for (var i = 1; i<=sheet.getLastRow(); i++) {

for (var i = 1; i<sheet.getLastRow() + 1; i++) {

其他样本:

作为另一个示例,您还可以使用getValues()setValues()来实现它。示例脚本如下。

var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getRange(1,1,sheet.getLastRow(),1).getValues();
var modified = values.map(function(e){return e[0] == "Cell 1" ? [e[0], "Cell 2", "Cell 3"] : [e[0], "", ""]});
sheet.getRange(1,1,modified.length,modified[0].length).setValues(modified);

参考文献:

如果我误解了你的问题,我很抱歉。