Google Spreadsheet对两列进行排序


Answers:


9

从以下代码行开始:

var range = sheet.getRange("A1:B10");

可以用不同的方式执行排序:

  1. range.sort([1,2]);
  2. range.sort([{column: 1, ascending: true}, {column: 2, ascending: true}]);

两种方式完全相同,因为排序类型默认情况下是升序的,但是当TRUE更改为时,第二个选项允许不同的排序顺序FALSE

请参阅参考:range.sort


1
感谢您及时的回复。您的回答对我来说很有意义。我成功地运用了知识。
2013年

好的,这是新手...我到底在哪里输入以上代码?

@robb请参阅OP使用的参考,这将导致我给出解释的答案。
雅各布·扬·图恩斯特拉

2

开派对有点晚,但这就是我所做的。

function onEdit(event){
  var sheet = event.source.getActiveSheet();
  if(sheet.getName()=='Sort by country full'){
    var editedCell = sheet.getActiveCell();
    var columnToSortBy = 16;
    var columnToSortBy2 = 2;
    var tableRange = "A2:AU1451";
    if(editedCell.getColumn() == columnToSortBy){   
      var range = sheet.getRange(tableRange);
      range.sort( [{ column : columnToSortBy },{column: columnToSortBy2,ascending: false }] );
    }
  }
}

首先对第16列(对我来说是国家)进行排序,然后对第2列的评分等级进行降序排列。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.