我在Google电子表格脚本中有一个范围。

var thisClientOutputRange = outputSheet.getRange(thisClientStartRow,thisClientStartColumn, monthsToSim + 3, 1);
Logger.log(thisClientOutputRange.getA1Notation());


输出为:

[15-10-29 18:43:06:461 GALT] B7:B57


这正是我要针对此特定客户端解决的范围(当前在for循环中循环)。

我可以

var thisClientOutputNameRange = thisClientOutputRange.getCell(1,1);
thisClientOutputNameRange.setValue(thisClientName);


而且我可以在B7正确看到该值。现在的问题是,如果我尝试去做

var thisClientOutputNameRange = thisClientOutputRange.getCell(1,2);


我恰好在这一行收到错误Cell reference out of range。我需要在C7上写一些东西。

根据getCell文档:


  var range = sheet.getRange("B2:D4");
  
  //这里的行和列是相对于范围的。
  
  //此代码中的getCell(1,1)返回B2,B2处的单元格


我一定有一个非常愚蠢的错误,但是我找不到。知道我的逻辑有什么问题吗?

谢谢

最佳答案

范围的getCell(row,column)方法返回范围中的一个单元格。行和列的坐标是相对于范围的。在您的getCell(1,2)示例中,row = 1和column = 2表示范围的第一行和第二列的单元格。但是,范围B7:B57只有一列。因此,单元格引用超出了范围。

09-25 18:27
查看更多