可以在脚本中使用标准的GoogleSheets函数吗?

时间:2019-08-16 05:08:54

标签: google-apps-script google-sheets google-sheets-formula

我想在脚本中写这样的东西。

max(A1:A10)

但是当我尝试它时,我收到一条错误消息:Missing ) after argument list.有正确的方法吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

否,无法直接在脚本中使用工作表函数。

但是对于这个特定的用例(我假设),您想从给定范围(A1:A10)中找到最大数量,则可以执行以下操作:

var sheet = SpreadsheetApp.getActive().getSheetByName("[NAME-OF-SHEET]");
var values = sheet.getRange("A1:A10").getValues();

// flatten values array
values = Array.prototype.concat.apply([], values);

// find maximum
var max = Math.max.apply(null, values);

答案 1 :(得分:0)

如果您希望代码是动态的,则可以通过脚本将函数编写到Google工作表中。另外,您也可以直接进行计算。

{{1}}

答案 2 :(得分:0)

您可以使用SpreadsheetApp类[1]的功能来做到这一点。

以下是您可以在链接到电子表格的脚本中使用的代码,以从“ Sheet3”中的A列获取最大值并将其设置在B1单元格中:

function test3() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet3"); 
  var values = sheet.getRange("A1:A10").getValues();
  var max = Number(values[0][0]);

  for(var i=1; i<values.length; i++) {
    var val = Number(values[i][0]);

    if(val > max) {
      max = val; 
    }   
  }
   sheet.getRange("B1").setValue(max);  
}

[1] https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app