A planilha do Google classifica duas colunas

9

Portanto, encontrei a resposta a seguir em relação à classificação automática por uma coluna, o que funciona muito bem. Como posso fazer alguns dados em uma classificação automática da planilha do Google?

No entanto, meu caso de uso requer a classificação de duas colunas. Uma coluna é um número inteiro, enquanto a segunda coluna é uma data. Gostaria de classificar a coluna de números inteiros primeiro e, em cada número, classificar a data.

Alguma sugestão?

Viet
fonte

Respostas:

9

Começando com a seguinte linha de código:

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

A classificação pode ser realizada de diferentes maneiras:

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

Ambas as formas são idênticas, pois o tipo de classificação é crescente por padrão, mas a segunda opção permite uma ordem de classificação diferente quando TRUEé alterada para FALSE.

Consulte a referência: range.sort

Jacob Jan Tuinstra
fonte
11
Obrigado pela resposta rápida. Sua resposta faz sentido para mim. Eu implementei o conhecimento com sucesso.
Viet
OK, novo nesse material ... onde exatamente eu digito o código acima?
@robb veja a referência que o OP usa, que levará a Uma resposta que dei com explicações.
Jacob Jan Tuinstra
2

Um pouco atrasado para a festa, mas foi o que fiz.

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

Classifica primeiro pela coluna 16, que para mim são os países e depois por uma classificação de pontuação na coluna 2, descendente.

user128415
fonte