Google Spreadsheet Sort Two Columns

9

Таким образом, я нашел следующий ответ относительно автоматической сортировки по одному столбцу, которая прекрасно работает. Как я могу сделать некоторые данные в автоматической сортировке таблицы Google?

Тем не менее, мой вариант использования требует сортировки двух столбцов. Один столбец представляет собой целые числа, а второй столбец - даты. Я хотел бы сначала отсортировать столбец целых чисел, а затем в каждом номере отсортировать дату.

Какие-либо предложения?

Viet
источник

Ответы:

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
Спасибо за быстрый ответ. Ваш ответ имеет смысл для меня. Я реализовал знания с успехом.
Вьетнам
Хорошо, новичок в этом деле ... где именно я могу ввести вышеуказанный код?
@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 по убыванию.

user128415
источник