尝试按 2 列对 google 工作表进行排序时出现参数错误

Eba*_*iav 1 google-sheets google-apps-script

我尝试按两列进行简单排序,有很多例子。但我得到参数错误。并且无法理解为什么这是我的代码:

function myFunction1() {
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  var dateColumn = 1;
  var houerColumn = 3;

  sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns()).activate();
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  sheet.sort([{ column: 1, ascending: true }, { column: 3, ascending: true}]);
};
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:异常:无法将'[object Object],[object Object]'转换为int。在第 10 行(排序行)。我做错了什么?

小智 5

看来你把事情过于复杂化了。您尝试排序的方式通常是在范围而不是工作表上完成的。这段代码应该足够了:

function myFunction1(){
  SpreadsheetApp.getActiveSheet().getDataRange().sort([{ column: 1, ascending: true }, { column: 3, ascending: true}]);
}
Run Code Online (Sandbox Code Playgroud)