Menu

ORDEM no Excel (RANK): ORDEM.EQ, ORDEM.MÉD e empates

=ORDEM.EQ(B2;$B$2:$B$7) dá a posição de B2 entre os valores de B2:B7, com o maior em 1º lugar. Passe 1 como terceiro argumento para pôr o menor primeiro. Empates dividem a posição; o CONT.SES classifica dentro de um grupo.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=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.

Ranking de vendas pelas duas pontas
C2
ABCD
1NameSalesRank (high = 1)Rank (low = 1)
2Ana420034
3Ben310052
4Cleo560016
5Dan280061
6Eve490025
7Finn370043
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =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 use 0 para decrescente (o maior é 1), use 1 para 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.

Notas empatadas
C3
ABCDE
1NameScoreRANK.EQRANK.AVGUnique rank
2Ana95111
3Ben88232
4Cleo88233
5Dan76555
6Eve88234
7Finn64666
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =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:

Ranking dentro de cada região
D2
ABCD
1NameRegionSalesRank in region
2AnaNorth42003
3BenSouth31003
4CleoNorth56001
5DanSouth28004
6EveNorth49002
7FinnSouth37001
8GiaNorth39004
9HalSouth33002
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =CONT.SES($B$2:$B$9;B2;$C$2:$C$9;">"&C2)+1

Cleo 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).

Os 3 primeiros nomes
F2
ABCDEF
1NameSalesRankPlaceName
2Ana420031Cleo
3Ben310052Eve
4Cleo560013Ana
5Dan28006
6Eve49002
7Finn37004
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =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

Tempos dos 400 m em segundos
C2
ABC
1RunnerTimeRank
2Ana58.4
3Ben55.1
4Cleo61.9
5Dan53.7
6Eve57.3
7Finn60.2
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

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.

Ranking dentro de uma turma
D2
ABCD
1StudentClassScoreRank in class
2AnaRed81
3BenRed92
4CleoBlue77
5DanRed69
6EveBlue95
7FinnRed85
8GiaBlue88
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

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:

O intervalo se moveu: posições erradas
C4
ABC
1NameSalesRank
2Ana42003
3Ben31004
4Cleo56001
5Dan28003
6Eve49001
7Finn37001
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =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.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR