Arkusz kalkulacyjny Google Sortuj dwie kolumny

9

Znalazłem więc następującą odpowiedź dotyczącą automatycznego sortowania według jednej kolumny, która działa świetnie. Jak mogę utworzyć dane w automatycznym sortowaniu w Arkuszu kalkulacyjnym Google?

Jednak mój przypadek użycia wymaga sortowania dwóch kolumn. Jedna kolumna to liczby całkowite, a druga kolumna to daty. Chciałbym najpierw posortować kolumnę liczb całkowitych, a następnie w ramach każdej liczby posortować datę.

Jakieś sugestie?

Wietnam
źródło

Odpowiedzi:

9

Począwszy od następującego wiersza kodu:

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

Sortowanie można przeprowadzić na różne sposoby:

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

Oba sposoby są identyczne, ponieważ typ sortowania jest domyślnie rosnący, ale druga opcja pozwala na inną kolejność sortowania po TRUEzmianie na FALSE.

Patrz odniesienie: zakres.sort

Jacob Jan Tuinstra
źródło
1
Dziękuję za szybką odpowiedź. Twoja odpowiedź ma dla mnie sens. Wiedzę z powodzeniem wdrożyłem.
Wietnam
OK, nowość w tym temacie ... gdzie dokładnie wpisać powyższy kod?
@robb patrz odniesienie używane przez OP, które doprowadzą do odpowiedzi, której udzieliłem z wyjaśnieniem.
Jacob Jan Tuinstra
2

Trochę późno na imprezę, ale to właśnie zrobiłem.

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 }] );
    }
  }
}

Sortuje najpierw według kolumny 16, która według mnie to kraje, a następnie według oceny punktowej w kolumnie 2 malejąco.

użytkownik128415
źródło