Descrição
Use essa função para classificar dinamicamente um intervalo ou uma matriz por uma ou mais colunas em ordem crescente ou decrescente.
Sintaxe
SORT(array, [sort_column1], [sort_order1], [sort_order2], [sort_order3])
Entradas
Esta função aceita o seguinte argumento:
| Nome | Necessário | Descrição | Entrada válida |
|---|---|---|---|
Matriz |
Sim | O intervalo ou a matriz a ser classificada. | Uma célula, um intervalo de células ou uma fórmula que resulta em qualquer um desses itens. |
[sort_column1] |
Não | O número da coluna que você deseja classificar. A primeira coluna (A) é 1. | Um inteiro positivo que representa a coluna a ser classificada ou uma fórmula que resulta em um inteiro positivo. |
[sort_order1] |
Não | A ordem de classificação da coluna especificada. O padrão é 1 (ordenar em ordem crescente). | Um inteiro positivo com o valor 1 (crescente), ou -1 (decrescente), ou uma fórmula que resulte em um desses valores. |
[by_column] Se a classificação for feita por coluna. |
Não | Se você quiser que a classificação seja feita por coluna. O padrão é FALSE (classificar os dados verticalmente por linhas). | TRUE ou 1 = classificar por coluna. FALSO ou 0 = classificar por linha, ou uma fórmula que resulte em uma dessas opções. |
Exemplos
Dados de amostra
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Nome | Sobrenome | Idade | Cidade | Salário |
| 2 | João | Smith | 35 | Filadélfia | 75000 |
| 3 | Alice | Johnson | 28 | Chicago | 65000 |
| 4 | Bob | Branco | 42 | Los Angeles | 85000 |
| 5 | Harry | Harrison | 33 | Chicago | 70000 |
| 6 | Alice | Kramden | 39 | Brooklyn | 72000 |
Fórmulas de amostra
| Caso de uso | Fórmula | Explicação e resultado | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Classifica um conjunto de dados por uma coluna específica em ordem crescente. | =SORT(A2:E6, 3, 1) |
Essa fórmula classifica todo o conjunto de dados por idade em ordem crescente. Para esse conjunto de dados, ela retornaria o seguinte:
|
|||||||||||||||||||||||||
| Classifica um conjunto de dados por uma coluna específica em ordem crescente, preservando as relações de linha originais. | =SORT(A2:E6, 4, 1, 0) |
Essa fórmula ordena todo o intervalo pela coluna “Cidade” (coluna 4) em ordem crescente, mantendo as relações originais entre as linhas. O parâmetro `by_col` (0) da função ` Para esse conjunto de dados, ela retornaria o seguinte:
|
|||||||||||||||||||||||||
| Se você selecionar um subconjunto de células, classifique o resultado por outra coluna. | =SORT(FILTER(A2:E6, C2:C6>30), 5, -1) |
Essa fórmula utiliza a função FILTER para selecionar funcionários com mais de 30 anos
|
|||||||||||||||||||||||||
| Gerar uma lista de nomes que não tenha duplicatas. | =SORT(UNIQUE(A2:A6), 1, 1) |
Essa fórmula usa UNIQUE para criar uma lista de nomes de forma que cada nome ocorra apenas uma vez na lista e, em seguida, classifica-os em ordem alfabética. Para esse conjunto de dados, o resultado seria o seguinte:
|
|||||||||||||||||||||||||
| Localize o nome da pessoa mais velha em um conjunto de dados. | =TAKE(SORT(A2:B6, 2, -1), 1, 1) |
Essa fórmula primeiro ordena os dados por idade em ordem decrescente, de modo que a pessoa mais velha (Bob, 42 anos) apareça em primeiro lugar. A função `TAKE` retorna o valor de “Name” da primeira linha. Para esse conjunto de dados, o resultado seria o seguinte:
|
Notas
A função SORT:
- É possível classificar por várias colunas, seguindo uma ordem especificada.
- Funciona com intervalos estáticos e matrizes dinâmicas.
- Suporta ordenação tanto ascendente quanto descendente.
Dicas:
- Se você tiver linha(s) de cabeçalho, inicie os valores da matriz uma linha abaixo (por exemplo, no conjunto de dados acima, inicie com A2 em vez de A1) se não quiser que os cabeçalhos sejam incluídos.
- SORT pode ser combinado com outras funções, incluindo:
Funções relacionadas
Aqui você encontra as outras funções de fórmula de matriz suportadas nas planilhas da Workiva.