
Fórmula genérica
=COUNTIF(range,"<="&A1)
Resumo
Para classificar dinamicamente os valores do texto em ordem alfabética, você pode usar uma fórmula baseada na função CONT.SE. No exemplo mostrado, a fórmula em C5 é:
=COUNTIF(countries,"<="&B5)
onde "países" é o intervalo nomeado B4: B13
Explicação
Esta fórmula usa o operador "maior ou igual a" com texto, algo que você talvez não tenha tentado antes. Quando o Excel compara texto, ele decide qual valor é "maior" do que outras regras baseadas que seguem o esquema de numeração ASCII.
Dentro de CONT.SE, o argumento de intervalo é fornecido como o intervalo nomeado "países" (B4: B13), e os critérios são fornecidos como "menor ou igual a" o valor em C5. Em cada linha, COUNTIFS retorna o número de valores que são menores ou iguais ao valor atual, o que cria uma lista sequencial de números (ou seja, uma classificação) na coluna auxiliar.
Listando valores classificados
A coluna auxiliar pode ser usada para recuperar valores classificados por classificação. Em E5, a fórmula usada para recuperar valores é:
=INDEX(countries,MATCH(ROWS($E$5:E5),helper,0))
Esta é uma fórmula INDEX e MATCH que usa uma referência de expansão para gerar números sequenciais, que são alimentados em MATCH como valores de pesquisa. MATCH descobre onde cada número existe nos dados, e INDEX recupera o valor naquela posição. Veja esta página para uma explicação mais detalhada.
Tratamento de duplicatas
Se os dados contiverem valores de texto duplicados, a sequência de números de classificação também conterá duplicatas, o que causará problemas se você estiver tentando recuperar valores com a função INDEX. Para contornar esse problema, você pode usar uma variação da fórmula que aumenta as duplicatas com um segundo CONT.SE:
=COUNTIF(countries,"<"&B5)+COUNTIF($B$5:B5,B5)
Observe que o operador lógico na primeira função CONT.SE foi ajustado e o intervalo na segunda função CONT.SE é uma referência de expansão.