谷歌电子表格脚本单元格参数



在我的脚本参数中传递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()官方文档

相关内容

最新更新