=ORDEM.EQ(B2;$B$2:$B$7) retorna a posição de B2 entre os valores de B2:B7, com o maior valor na posição 1. Para pôr o menor valor primeiro, passe 1 como terceiro argumento: =ORDEM.EQ(B2;$B$2:$B$7;1). A ORDEM.EQ se chama RANK.EQ em inglês; a tabela mostra as fórmulas em inglês, com vírgulas, e também aceita a forma em português, com ponto e vírgula.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Sales | Rank (high = 1) | Rank (low = 1) |
| 2 | Ana | 4200 | 3 | 4 |
| 3 | Ben | 3100 | 5 | 2 |
| 4 | Cleo | 5600 | 1 | 6 |
| 5 | Dan | 2800 | 6 | 1 |
| 6 | Eve | 4900 | 2 | 5 |
| 7 | Finn | 3700 | 4 | 3 |
=ORDEM.EQ(B2;$B$2:$B$7)Cleo tem as maiores vendas e fica em 1º na coluna C e em 6º na coluna D. Mude as vendas de Dan para 6000 e todas as posições se atualizam.
Sintaxe da ORDEM.EQ
=RANK.EQ(number, ref, [order])
number(núm): o valor a classificar, normalmente a célula da mesma linha.ref: a lista em que ele é classificado. Deixe-a absoluta ($B$2:$B$7) para ela ficar igual em todas as linhas quando você arrasta a fórmula.order(ordem): deixe de fora ou use0para decrescente (o maior é 1), use1para crescente (o menor é 1).
Texto e células vazias em ref são ignorados. Se number não estiver em ref, a ORDEM.EQ retorna #N/D (#N/A em inglês; a tabela mostra os nomes de erro em inglês).
A ORDEM.EQ e a ORDEM.MÉD chegaram no Excel 2010. A antiga ORDEM (RANK em inglês) ainda funciona e dá o mesmo resultado que a ORDEM.EQ; o Google Planilhas tem as três.
Empates: ORDEM.EQ ou ORDEM.MÉD
Quando valores empatam, a ORDEM.EQ dá a todos a mesma posição e pula as posições que eles ocupam, como nos resultados esportivos: duas pessoas em segundo lugar, depois o quarto. A ORDEM.MÉD (RANK.AVG em inglês) dá a cada valor empatado a média das posições que eles dividem.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Score | RANK.EQ | RANK.AVG | Unique rank |
| 2 | Ana | 95 | 1 | 1 | 1 |
| 3 | Ben | 88 | 2 | 3 | 2 |
| 4 | Cleo | 88 | 2 | 3 | 3 |
| 5 | Dan | 76 | 5 | 5 | 5 |
| 6 | Eve | 88 | 2 | 3 | 4 |
| 7 | Finn | 64 | 6 | 6 | 6 |
=ORDEM.EQ(B3;$B$2:$B$7)Ben, Cleo e Eve empatam com 88. A ORDEM.EQ dá 2 aos três e 5 a Dan. A ORDEM.MÉD dá 3 a eles, a média das posições 2, 3 e 4.
A coluna E desempata pela ordem na lista: CONT.SE($B$2:B2;B2) conta quantas vezes a nota já apareceu, do topo até esta linha (só o fim do intervalo se move quando você arrasta). O primeiro 88 soma 0, o segundo soma 1, o terceiro soma 2, então cada posição de 1 a 6 aparece exatamente uma vez. Essa é a versão a usar quando a posição alimenta uma busca como "quem é o número 3", porque uma busca precisa que cada posição seja única.
Ranking dentro de um grupo
Não existe ORDEMSE. Para classificar cada vendedor só contra os outros da mesma região, conte quantas pessoas dessa região venderam mais e some 1:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Region | Sales | Rank in region |
| 2 | Ana | North | 4200 | 3 |
| 3 | Ben | South | 3100 | 3 |
| 4 | Cleo | North | 5600 | 1 |
| 5 | Dan | South | 2800 | 4 |
| 6 | Eve | North | 4900 | 2 |
| 7 | Finn | South | 3700 | 1 |
| 8 | Gia | North | 3900 | 4 |
| 9 | Hal | South | 3300 | 2 |
=CONT.SES($B$2:$B$9;B2;$C$2:$C$9;">"&C2)+1Cleo lidera North e Finn lidera South. Mude a região de Ana para South: as posições de North fecham o buraco e South ganha uma quinta pessoa. Para posições crescentes dentro de um grupo, use "<"&C2. Os empates se comportam como na ORDEM.EQ: valores empatados dividem a posição. Mais sobre contar com várias condições está na página do CONT.SES.
Mostrar os 3 primeiros pela posição
Uma coluna de posições responde "em que lugar está esta pessoa"; para responder "quem está em primeiro lugar", busque a posição. Com posições únicas na coluna C, =PROCX(1;C2:C7;A2:A7) retorna o nome na posição 1 (no Excel 2019 e anteriores, =ÍNDICE(A2:A7;CORRESP(1;C2:C7;0))). Sem coluna de posições, =MAIOR(B2:B7;2) retorna diretamente o segundo maior valor, e =CLASSIFICARPOR(A2:B7;B2:B7;-1) lista a tabela inteira do maior para o menor (Excel 2021 ou Microsoft 365; veja CLASSIFICAR e CLASSIFICARPOR).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Sales | Rank | Place | Name | |
| 2 | Ana | 4200 | 3 | 1 | Cleo | |
| 3 | Ben | 3100 | 5 | 2 | Eve | |
| 4 | Cleo | 5600 | 1 | 3 | Ana | |
| 5 | Dan | 2800 | 6 | |||
| 6 | Eve | 4900 | 2 | |||
| 7 | Finn | 3700 | 4 |
=PROCX(E2;$C$2:$C$7;$A$2:$A$7)A coluna C é a posição única da seção de empates, então um empate nunca deixa um lugar vazio. F2 a F4 listam Cleo, Eve e Ana. Mude as vendas de Ana para 6000 e ela passa para o topo.
Teste: o corredor mais rápido primeiro
| A | B | C | |
|---|---|---|---|
| 1 | Runner | Time | Rank |
| 2 | Ana | 58.4 | |
| 3 | Ben | 55.1 | |
| 4 | Cleo | 61.9 | |
| 5 | Dan | 53.7 | |
| 6 | Eve | 57.3 | |
| 7 | Finn | 60.2 |
Sua vez: Em C2, classifique o tempo de Ana em B2 entre todos os tempos de B2:B7, de modo que o tempo mais rápido (o menor) fique na posição 1. A fórmula é arrastada até C7, então use referências absolutas para a lista.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Class | Score | Rank in class |
| 2 | Ana | Red | 81 | |
| 3 | Ben | Red | 92 | |
| 4 | Cleo | Blue | 77 | |
| 5 | Dan | Red | 69 | |
| 6 | Eve | Blue | 95 | |
| 7 | Finn | Red | 85 | |
| 8 | Gia | Blue | 88 |
Sua vez: Em D2, classifique a nota de Ana só entre os alunos da turma dela (coluna B), com a maior nota na posição 1. A fórmula é arrastada até D8.
Erro comum: um intervalo relativo
Sem os $, o intervalo desce uma linha a cada vez que a fórmula é arrastada, então cada linha é classificada contra uma lista cada vez menor que começa na própria linha. As posições parecem plausíveis, mas estão erradas:
| A | B | C | |
|---|---|---|---|
| 1 | Name | Sales | Rank |
| 2 | Ana | 4200 | 3 |
| 3 | Ben | 3100 | 4 |
| 4 | Cleo | 5600 | 1 |
| 5 | Dan | 2800 | 3 |
| 6 | Eve | 4900 | 1 |
| 7 | Finn | 3700 | 1 |
=ORDEM.EQ(B4;B4:B9)Clique em C4: o intervalo dela é B4:B9, então Cleo só é comparada com as pessoas da linha dela para baixo. Eve aparece na posição 1 embora Cleo tenha vendido mais, e Finn aparece em 1º porque é comparado só consigo mesmo. Mude C2 para =RANK.EQ(B2,$B$2:$B$7) (=ORDEM.EQ(B2;$B$2:$B$7) em português) e a coluna inteira se corrige. Pressione F4 com o cursor no intervalo para acrescentar os $ (no Mac, Cmd+T ou Fn+F4); referências absolutas explica por quê.
Perguntas frequentes
Como fazer um ranking de números no Excel?
Use =ORDEM.EQ(B2;$B$2:$B$7) e arraste para baixo. O maior valor fica na posição 1. Mantenha os $ no intervalo para ele não se deslocar quando você arrasta.
Como classificar do menor para o maior no Excel?
Passe 1 como terceiro argumento: =ORDEM.EQ(B2;$B$2:$B$7;1). Use para tempos de corrida, preços ou qualquer coisa em que o menor valor deve vir primeiro.
Qual a diferença entre ORDEM.EQ e ORDEM.MÉD?
Elas só diferem nos empates. Se dois valores empatam em segundo lugar, a ORDEM.EQ dá 2 aos dois e 4 ao valor seguinte. A ORDEM.MÉD dá 2,5 aos dois, a média das posições 2 e 3.
Como fazer um ranking sem repetir posições no Excel?
Some uma contagem acumulada do valor: =ORDEM.EQ(B2;$B$2:$B$7)+CONT.SE($B$2:B2;B2)-1. O primeiro de dois valores empatados fica com a posição e o segundo pega a seguinte.
Como fazer um ranking dentro de um grupo no Excel?
Conte os valores do mesmo grupo que são maiores e some 1: =CONT.SES($A$2:$A$9;A2;$C$2:$C$9;">"&C2)+1. Não existe uma função ORDEMSE.