更改Google表格中的排序范围

时间:2019-03-13 15:04:38

标签: javascript google-sheets

我有:

 function sortWDSheet()
  {

     var ss = SpreadsheetApp.getActiveSpreadsheet();
    var source_sheet = ss.getSheetByName("WD");
    var source_sheet_last_row = source_sheet.getLastRow();
    source_sheet.getRange('A3:B'+(source_sheet_last_row-1)).sort({column: 1, 
    ascending: true});


  }

但是我实际上想对A3:I进行排序,但如果有意义的话,则不对C,D,E和F列进行排序。

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

尝试其中的多种排序,真正满足您的要求。

引用人:https://stackoverflow.com/a/35563828/9599873

var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];
 var range = sheet.getRange("A1:C7");

 // Sorts by the values in the first column (A)
 range.sort(1);

 // Sorts by the values in the second column (B)
 range.sort(2);

 // Sorts descending by column B
 range.sort({column: 2, ascending: false});

 // Sorts descending by column B, then ascending by column A
 // Note the use of an array
 range.sort([{column: 2, ascending: false}, {column: 1, ascending: true}]);

 // For rows that are sorted in ascending order, the "ascending" parameter is
 // optional, and just an integer with the column can be used instead. Note that
 // in general, keeping the sort specification consistent results in more readable
 // code. We could have expressed the earlier sort as:
 range.sort([{column: 2, ascending: false}, 1]);

 // Alternatively, if we wanted all columns to be in ascending order, we would use
 // the following (this would make column 2 ascending)
 range.sort([2, 1]);
 // ... which is equivalent to
 range.sort([{column: 2, ascending: true}, {column: 1, ascending: true}]);