在我的脚本参数中传递2个单元格有问题:
function myFunction(c1, c2) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1]; //This is the correct sheet
var valueFirstCell = sheet.getRange(c1).getValue();
var valueSecondCell = sheet.getRange(c2).getValue();
return valueSecondCell - valueFirstCell;
}
我在单元格A3中使用这个:
=myFunction(A1, A2)
假设A1=10 A2=15我想让A3显示5,但是
var valueFirstCell = sheet.getRange(c1).getValue();
失败"参数必须是一个范围"什么好主意吗?
在自定义函数中,脚本中的c1和c2实际上将是这些单元格中的值,因此您可以直接使用它们。您可以通过添加Logger.log(c1);和Logger.log (c2);你的剧本。试试这个:
function myFunction(c1, c2) {
Logger.log(c1);
Logger.log(c2);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1]; //This is the correct sheet
return c2 - c1;
}
这里有一个关于构建一个简单的自定义函数的教程,该教程展示了一个类似的示例。
这只是说getRange
函数的参数不是预期的方式。
链接到gerange()文档
getRange()
函数期望行和列
例如,valueFirstCell
在第7行第1列。
var valueFirstCell = sheet.getRange(7,1).getValue();
链接到gerange()官方文档