抱歉,这个愚蠢的问题,但我搜索了整个互联网,但找不到学习如何在 Google SpreadSheet Script 中编程的好教程。
我想做一个非常简单的函数,只是为了练习。
function simplesum(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets();
var range = sheet.getRange(input);
var x = 0;
for (var i = 1; i <= range.getNumRows(); i++) {
for (var j = 1; j <= range.getNumColumns(); j++) {
var cell = range.getCell(i, j);
x += (cell.getValue());
}
}
return x;
}
我知道我可以使用 =sum() 来做完全相同的事情。这里的想法是学习如何编程。
当我尝试在单元格中使用我的函数时:(即:=simplesum((A1:A8))它给出了一个错误消息:“TypeError:无法在对象工作表中找到函数 getRange。(第 4 行)”
我该怎么办?
再一次,很抱歉这个愚蠢的问题....
最佳答案
在这种情况下,您将 Google Apps 脚本函数作为自定义函数实现,在电子表格单元格中调用。
当您将范围传递给在电子表格单元格中调用的自定义函数时,您传递的不是范围对象或范围引用,而是二维 Javascript 值数组。所以您的自定义函数应该只处理该数组。
function simplesum(input)
{
var x = 0;
for (var i = 0; i < input.length; i++)
{
for (var j = 0; j < input[0].length; j++)
{
x += input[i][j];
}
}
return x;
}
关于javascript - 谷歌电子表格脚本 : "Cannot find function getRange in object Sheet" when creating a simple function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21995507/