=SORT(A2:C7,3,-1) retorna a tabela A2:C7 ordenada pela terceira coluna, vendas, da maior para a menor. No Excel em português as funções se chamam CLASSIFICAR (SORT em inglês) e CLASSIFICARPOR (SORTBY em inglês), e você também pode digitar as fórmulas em português na tabela, com ponto e vírgula: =CLASSIFICAR(A2:C7;3;-1). A tabela original fica como está; a cópia ordenada é despejada a partir da célula da fórmula e se reordena quando um número muda. Mude C7 para 300 e Finn vai para o topo.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Cara | North | 200 | |
| 3 | Ben | South | 80 | Dan | East | 150 | |
| 4 | Cara | North | 200 | Ann | North | 120 | |
| 5 | Dan | East | 150 | Eve | South | 95 | |
| 6 | Eve | South | 95 | Ben | South | 80 | |
| 7 | Finn | North | 60 | Finn | North | 60 |
=CLASSIFICAR(A2:C7;3;-1)Sintaxe da CLASSIFICAR
=SORT(array, [sort_index], [sort_order], [by_col])
arrayé o intervalo a ordenar e retornar.sort_indexé o número da coluna dentro dearrayusada para ordenar. O padrão é 1.sort_orderé 1 para crescente (o padrão) ou -1 para decrescente.by_colé FALSO (o padrão) para ordenar linhas, VERDADEIRO para ordenar colunas da esquerda para a direita.
CLASSIFICAR e CLASSIFICARPOR precisam do Excel 2021, do Excel 2024 ou do Microsoft 365; versões mais antigas mostram #NOME? (#NAME? em inglês; a tabela mostra os nomes de erro em inglês). O Google Sheets tem as duas, mas a SORT dele recebe um número de coluna e VERDADEIRO ou FALSO em pares.
A ordem crescente coloca os números primeiro, depois o texto de A a Z, depois FALSO e VERDADEIRO. O texto é comparado sem levar em conta maiúsculas. Células vazias em array voltam como 0 no resultado.
Como colocar em ordem alfabética no Excel
Para reordenar uma lista no lugar, clique em qualquer célula dela e escolha Dados > Classificar de A a Z (ou de Z a A). Se a lista tem colunas vizinhas, o Excel ordena a tabela inteira, para cada linha continuar junta. Use Dados > Classificar para mais de uma coluna ou para uma lista personalizada.
Para manter a ordem original e ter uma cópia em ordem alfabética que se atualiza sozinha, use a CLASSIFICAR sem os outros argumentos:
| A | B | C | |
|---|---|---|---|
| 1 | Name | A to Z | |
| 2 | Mia | Ann | |
| 3 | Ben | Ben | |
| 4 | Zoe | Cara | |
| 5 | Ann | Dan | |
| 6 | Leo | Leo | |
| 7 | Cara | Mia | |
| 8 | Dan | Zoe |
=CLASSIFICAR(A2:A8)Digite Abe em A3 e ele aparece primeiro. =CLASSIFICAR(A2:A8;;-1) dá Z a A; os dois separadores seguidos pulam o sort_index. Para ordenar uma lista sem repetições, ordene o resultado da ÚNICO: =CLASSIFICAR(ÚNICO(A2:A8)) (veja ÚNICO).
CLASSIFICARPOR: ordenar por uma coluna que não é retornada
A CLASSIFICAR só consegue ordenar por uma coluna do intervalo que ela retorna. A CLASSIFICARPOR recebe a chave de ordenação como um intervalo separado, então você pode retornar só os nomes, ordenados pelas vendas:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | Sales | By sales | |
| 2 | Ann | North | 120 | Cara | |
| 3 | Ben | South | 80 | Dan | |
| 4 | Cara | North | 200 | Ann | |
| 5 | Dan | East | 150 | Eve | |
| 6 | Eve | South | 95 | Ben | |
| 7 | Finn | North | 60 | Finn |
=CLASSIFICARPOR(A2:A7;C2:C7;-1)O resultado é Cara, Dan, Ann, Eve, Ben, Finn. A sintaxe é =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...). Cada by_array precisa ter o mesmo número de linhas que array, senão a CLASSIFICARPOR retorna #VALOR! (#VALUE!).
Para um top 3, pegue as primeiras linhas do resultado: =PEGAR(CLASSIFICARPOR(A2:A7;C2:C7;-1);3) retorna Cara, Dan e Ann. A PEGAR (TAKE em inglês) precisa do Microsoft 365 ou do Excel 2024; no Excel 2021, use =ÍNDICE(CLASSIFICARPOR(A2:A7;C2:C7;-1);SEQUÊNCIA(3)).
Ordenar por várias colunas
Passe à CLASSIFICARPOR um par de chave e ordem por nível. Isto ordena por região de A a Z e, dentro de cada região, por vendas da maior para a menor:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Dan | East | 150 | |
| 3 | Ben | South | 80 | Cara | North | 200 | |
| 4 | Cara | North | 200 | Ann | North | 120 | |
| 5 | Dan | East | 150 | Finn | North | 60 | |
| 6 | Eve | South | 95 | Eve | South | 95 | |
| 7 | Finn | North | 60 | Ben | South | 80 |
=CLASSIFICARPOR(A2:C7;B2:B7;1;C2:C7;-1)East vem primeiro, depois as três linhas de North, como Cara (200), Ann (120) e Finn (60), depois South. A CLASSIFICAR consegue fazer o mesmo com matrizes de números de coluna e de ordens, mas a CLASSIFICARPOR é mais fácil de ler:
=SORT(A2:C7,{2,3},{1,-1})
Essa fórmula está na forma em inglês: os separadores de uma constante de matriz dependem da configuração regional.
Ordenar em uma ordem personalizada
A ordem alfabética nem sempre é a que você quer. Para ordenar as regiões como North, East, South, transforme cada região na posição dela nessa lista com a CORRESP (MATCH em inglês) e ordene pelas posições:
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Name | Region | Sales | Name | Region | Sales | |
| 2 | Ann | North | 120 | Ann | North | 120 | |
| 3 | Ben | South | 80 | Cara | North | 200 | |
| 4 | Cara | North | 200 | Finn | North | 60 | |
| 5 | Dan | East | 150 | Dan | East | 150 | |
| 6 | Eve | South | 95 | Ben | South | 80 | |
| 7 | Finn | North | 60 | Eve | South | 95 |
A CORRESP retorna 1 para North, 2 para East e 3 para South, e a CLASSIFICARPOR ordena por esses números. Linhas com a mesma chave mantêm a ordem original, então as linhas de North continuam Ann, Cara, Finn. O mesmo truque ordena meses ou dias da semana pelo nome: liste os nomes na ordem do calendário dentro da CORRESP. Uma região que não está na lista recebe #N/D (#N/A) da CORRESP; use IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (forma em inglês, por causa da constante de matriz) como chave para jogar essas linhas para o fim.
Prática: nomes ordenados pelas vendas
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Region | Sales | By sales | |
| 2 | Ann | North | 120 | ||
| 3 | Ben | South | 80 | ||
| 4 | Cara | North | 200 | ||
| 5 | Dan | East | 150 | ||
| 6 | Eve | South | 95 | ||
| 7 | Finn | North | 60 |
Sua vez: Em E2, retorne só os nomes, ordenados pelas vendas da maior para a menor.
Função CLASSIFICAR ou botão Classificar
Os dois ordenam, mas fazem trabalhos diferentes:
| Dados > Classificar | CLASSIFICAR e CLASSIFICARPOR | |
|---|---|---|
| Muda a tabela original | Sim | Não, o resultado vai para células novas |
| Atualiza quando os dados mudam | Não, é preciso ordenar de novo | Sim |
| Funciona no Excel 2019 e anteriores | Sim | Não |
| O resultado pode ser editado célula por célula | Sim | Não, é uma fórmula só |
| Pode ficar dentro de outra fórmula | Não | Sim, por exemplo =PEGAR(CLASSIFICAR(A2:C7;3;-1);3) |
Use o botão para arrumar uma tabela uma vez. Use a função para um relatório ou painel que precisa continuar ordenado enquanto os dados mudam. Se as células abaixo ou à direita da fórmula não estão vazias, a função mostra #DESPEJAR! (#SPILL!) em vez da lista ordenada; limpe essas células e ela aparece (veja erro #DESPEJAR!).
Perguntas frequentes
Como ordenar dados com uma fórmula no Excel?
Use a CLASSIFICAR: =CLASSIFICAR(A2:C7;3;-1) retorna A2:C7 ordenada pela terceira coluna, do maior para o menor. Deixe de fora os dois últimos argumentos, =CLASSIFICAR(A2:A8), para ordenar pela primeira coluna do menor para o maior, ou de A a Z em texto.
Qual é a diferença entre CLASSIFICAR e CLASSIFICARPOR?
A CLASSIFICAR ordena por uma coluna do intervalo que ela retorna, escolhida pelo número. A CLASSIFICARPOR ordena por qualquer intervalo que você passar, mesmo um que não é retornado: =CLASSIFICARPOR(A2:A7;C2:C7;-1) retorna só os nomes, ordenados pelas vendas. A CLASSIFICARPOR também recebe várias chaves de ordenação direto.
Como colocar uma lista em ordem alfabética no Excel?
Selecione uma célula da lista e clique em Dados > Classificar de A a Z para reordenar no lugar. Para manter o original e ter uma cópia ordenada que se atualiza, digite =CLASSIFICAR(A2:A8) em uma célula vazia; use =CLASSIFICAR(A2:A8;;-1) para Z a A.
Como ordenar por duas colunas com uma fórmula?
Passe à CLASSIFICARPOR dois pares de chave e ordem: =CLASSIFICARPOR(A2:C7;B2:B7;1;C2:C7;-1) ordena por região de A a Z e, dentro de cada região, por vendas da maior para a menor.
Quais versões do Excel têm CLASSIFICAR e CLASSIFICARPOR?
Excel 2021, Excel 2024 e Microsoft 365. No Excel 2019 e anteriores elas mostram #NOME?, e o botão Classificar da guia Dados é o jeito de ordenar.