Planilhas Google: Ordernar/classificar automaticamente tabela ou intervalo de dados

Ordenar ou classificar uma tabela, é algo bastante útil quando precisamos criar um ranking de pontos, bolão de jogos, ordenar jogadores e ter uma análise melhor dos dados. Nas Planilhas Google, há algumas formas de aplicar essa classificação. 

É Possível manualmente através do menu Dados, Classificação, por filtros e também através da função sort(). Entretanto essas opções tem suas peculiaridades que nem sempre são interessantes para o projeto do usuário. A primeira e segunda opção é aplicada de forma manual e não se atualiza automaticamente, já a segunda opção se atualiza automaticamente, porém gera uma segunda tabela ordenada.

Neste tutorial abaixo, vamos usar Google Apps Script para classificar automaticamente a planilha original sem grandes problemas.

Exemplo:

Para visualizar esse exemplo de forma real, acesse esta planilha  CLIQUE AQUI.

Passos:


1) Abra a planilha e clique no menu Ferramentas, opção Editor de scripts...



2) Após carregar a página, clique na opção Projeto em branco.



3) Apague todo o esqueleto de uma função vazia Myfunction(){} e cole o código abaixo.

4) Pressione as teclas CTRL + S, digite um nome para o projeto e clique no botão Ok.


5) Clique no menu ExecutarOnEdit.


6) Na pop-up de autorização, clique no botão Continuar.



Detalhamento do código: 





Preciso classificar os dados em uma ou mais colunas, o que faço?


Se você precisa classificar dados por mais de uma coluna, adicione um cochete antes da chave inicial e depois da chave no final. Insira uma vírgula após a chave final, adicione um novo par de chaves e informe a propriedade, dois pontos, valor, novamente repita o processo para a outra propriedade.

Propriedades: Column, Ascending.
Valores: Número da coluna e tipo de classificação em valor boleano.


Código:



Resultado - Código Final:


Para mais de duas colunas, apenas adicione a vírgula, chaves e as propriedades com seus respectivos valores.


Receba novidades
Gostou do Tutorial? Informe seu e-mail e receba todas as dicas e tutoriais sobre Google Drive/Google Docs.
, ,
Avalie - Esse conteúdo lhe foi útil?
 

Deixe seu comentário:

13 comentários:

  1. MARAVILHOSA a DICA... EVENTO "ONEDIT", executado AUTOMATICAMENTE ao ALTERAR qualquer CÉLULA, e assim ORDENA a planilha da MANEIRA DESEJADA... Parei de utilizar minha "agenda de papel", organizo meu escritório agora com afazeres MEUS e de meu FUNCIONÁRIO através desta planilha... e agora ainda VAI ORDENANDO conforme programei... PERFEITO!!!

    Vai o código com alterações que fiz... : ( Ordena em ordem CRESCENTE,
    as 3 primeiras GUIAS, pelas 4 primeiras COLUNAS, no intervalo A3:H50 de CADA GUIA )

    function onEdit(){
    var planilha = SpreadsheetApp.getActiveSpreadsheet();
    var folha = planilha.getSheets()[0];
    var intervalo = folha.getRange('A3:H50');
    intervalo.sort([{column:1, ascending:true},{column:2, ascending:true},{column:3, ascending:true},{column:4, ascending:true}]);

    var planilha = SpreadsheetApp.getActiveSpreadsheet();
    var folha = planilha.getSheets()[1];
    var intervalo = folha.getRange('A3:H50');
    intervalo.sort([{column:1, ascending:true},{column:2, ascending:true},{column:3, ascending:true},{column:4, ascending:true}]);


    var planilha = SpreadsheetApp.getActiveSpreadsheet();
    var folha = planilha.getSheets()[2];
    var intervalo = folha.getRange('A3:H50');
    intervalo.sort([{column:1, ascending:true},{column:2, ascending:true},{column:3, ascending:true},{column:4, ascending:true}]);


    }

    ResponderExcluir
  2. Muito bem explicado e simples!
    Obrigado

    ResponderExcluir
  3. Como fazer com que o cursor permaneça na célula ordenada? Ao digitarmos e pressionarmos Enter na primeira célula, a informação é logo ordenada sem completar o restante das células da linha.

    ResponderExcluir
  4. Gostaria de limitar a visualização dos usuários de determinada planilha do google. Queria que o usuário inserisse o seu nome e automaticamente fosse preenchido uma planilha com base em outra planilha. Poderia me ajudar

    ResponderExcluir
  5. Fiz um questionario de pesquisa com 10 questões e 4 respostas possíveis por questão. Preciso atribuir pontuação (de 1 a 4) para cada opção de resposta. Supondo que 10 pessoas recebam o questionário:
    1 - é possível ao final do questionário apresentar a pontuação de cada participante, baseado em suas respostas?
    2 - é possível apresentar as pontuações (por questão e totalidade) em planilha?

    Grato

    JGoto

    ResponderExcluir
  6. Amigo muito top sua explicação ate eu que não entendo nada consegui fazer aqui e ficou show
    agora quero usar em outra planilha porem mais complicado um pouco e ver se é possivel e alguem pode me ajudar

    tenho que classificar tudo na coluna 3 porem quero classificar da celular c3:c30:
    depois classificar da c31 a 50; depois da c51 a c80.... etc
    pq são intervalos de datas. é possivel e como seria?

    ResponderExcluir
  7. Adorei, era isso que eu estava precisando, parabéns pela dica, vou salvar nos favoritos

    ResponderExcluir
  8. Muito bom, cara!
    Serviu demais para mim aqui.
    Obrigado pela ajuda.

    ResponderExcluir
  9. Como faço para que o script seja aplicado numa aba específica e não na planilha inteira?

    ResponderExcluir