Como organizar dados em ordem alfabética sem perder a sanidade
A maioria das pessoas simplesmente clica em "Classificar A-Z" no Excel ou no Google Sheets e torce para que funcione. Às vezes funciona. Outras vezes, você descobre que os acentos estão causando uma ordenação bizarra, ou que espaços extras estão jogando tudo pra baixo da lista, ou ainda que nomes compostos como "Da Silva" estão sendo classificados como se o "Da" não existisse. O colocando em ordem alfabética parece trivial até você se deparar com um banco de dados sujo. E, todo mundo tem um banco de dados sujo.
A base: classificação simples em planilhas
No Excel, selecione o intervalo que deseja ordenar. Vá em Dados > Classificar. Se houver apenas uma coluna, basta escolher A a Z. No Google Sheets, é ícone de classificar na barra de ferramentas ou Dados > Classificar planilha de A a Z. Isso resolve 70% dos casos do dia a dia. O problema começa quando você tem múltiplas colunas e a classificação não respeita hierarquias que parecem óbvias. Por exemplo: ordenar por sobrenome primeiro, depois por nome, depois por data. Se você não configurar as regras de subclasse, vai terminar com uma lista que parece alfabética mas não é.
O problema que ninguém conta sobre acentos
Em português, isso é especialmente chato. A letra "A" com til e "A" sem til são tratadas de formas diferentes dependendo da configuração regional. No Excel para português do Brasil, o padrão é que "Cachimbo" venha antes de "Camilo", mas "Câmara" pode aparecer no meio ou no final dependendo da versão e da cultura de linguagem configurada. Eu tive um caso recente em que precisei ordenar uma lista com mais de 400 nomes de fornecedores. Metade tinha acentos, outra metade não. A ordenação padrão do Excel jogou "Santos" depois de "São Paulo" porque o acento no "ã" alterava o peso da comparação caractere por caractere. A solução foi adicionar uma coluna auxiliar com =CLARA() ao redor do texto original, ordenar por essa coluna e depois esconder a coluna auxiliar. Função CLARA remove acentos para fins de comparação sem alterar o conteúdo original. Levei uns 20 minutos para ajustar porque tinha também aquelas células com espaços duplos que estavam quebrando a ordenação de nomes compostos.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Nomes compostos e partículas de nobleza
Um dos maiores pesadelos na classificação alfabética automática são nomes com partículas como "Da", "De", "Do", "Di", "Van", "Von", "Al". O Excel e o Google Sheets tratam essas partículas normalmente como parte do texto, então "Maria Da Silva" vai para a seção D, não S. Em listas de convidados, catálogos profissionais ou registros históricos, isso gera frustração imediata. O workaround prático é simples mas irritante: crie uma coluna com o sobrenome puro. Se estiver lidando com de dados, uma fórmula como =Direita() combinada com PROCURAR para encontrar o último espaço resolve. Para casos mais complexos onde o nome pode ter múltiplos segmentos, um pequeno script no Google Apps Script ou uma macro VBA faz a limpeza automaticamente.
Quando a ordem alfabética quebra completamente
Existem cenários em que a classificação alfabética padrão simplesmente não serve. Lista de títulos que começam com artigos ("O", "A", "Os", "As") ficam inutilizáveis sem tratamento prévio. Nomes numéricos como "3M" ou "8Track" vão parar no início da lista. Siglas misturadas com nomes comuns criam agrupamentos estranhos. E aí a pergunta honesta é: você realmente precisa de ordem alfabética aqui, ou precisa de uma ordem lógica que alguém humano definiria? Se for para um índice de livro, use as ferramentas de índice do Word ou do LaTeX. Se for para uma lista de clientes, considere ordenar por cidade primeiro, depois por sobrenome. Se for para uma biblioteca, a classificação alfabética pura é só o começo — de autor vem antes de qualquer outra coisa.
Dica rápida para quem usa Python
Se você já trabalha com scripts, a biblioteca pandas tem uma função sort_values() que aceita parâmetros de locale. O problema é que a maioria dos ambientes Python no Windows usa ordenação lexicográfica pura, o que significa que acentos são ignorados na comparação primária. Para contornar, use a função locale.strxfrm() do módulo locale ou a biblioteca PyICU para ordenação baseada em Unicode collation properly configurada. Meu arquivo de processamento de 2.000 registros levou de 3 minutos para 12 segundos depois que parei de usar sorted() ingênuo e passei a usar ICU. A ordenação alfabética é uma daquelas coisas que todo mundo acha que domina até encontrar o primeiro caso limite. Anote os problemas que encontrou e as soluções que funcionaram. A próxima vez que alguém perguntar por que "Oscar Wilde" está antes de "Naomi Wilde" na sua planilha, você vai saber exatamente o que responder.