Como colocar listas em ordem alfabética na prática
Muita gente acha que organizar em ordem alfabética é só clicar num botão. Funciona na maioria das vezes, mas já vi planilhas inteiras quebrarem por causa de acentos, espaços duplos e maiúsculas mal comportadas. O problema não é a ferramenta, é como os dados entram na planilha antes de você tocar em qualquer coisa.
Organizar em ordem alfabética: o que realmente acontece
O computador não "sabe" português. Ele compara códigos Unicode ponto a ponto. Isso quer dizer que, numa ordenação padrão, "Água" pode ficar depois de "Bola" porque o código de á (U+00C1) é maior que o de B (U+0042). A solução mais simples costuma ser transformar tudo pra minúsculas e tratar os acentos como caracteres normais, mas aí entra a nuance que poucos explicam. No Google Sheets, usar a função ORDENAR() com COLLATE resolve boa parte disso se você especificar o locale correto. A fórmula fica assim: =ORDENAR(A2:A100; 1; VERDADEIRO; COLLATE(A2:A100; "pt-BR")). No Excel da Microsoft 365, o COLLATE já está disponível e funciona de maneira similar. Se você estiver num Excel mais antigo, vai ter que usar uma coluna auxiliar com ARRUMAR(MINÚSCULAS(...)) antes de aplicar a ordenação tradicional. Isso já corrige cerca de 80% dos casos problemáticos.
Eu perdi duas horas num projeto há uns anos porque uma lista de nomes de fornecedores tinha "O'Brion" misturado com "O'Brien". A ordenação padrão separou os dois erroneamente, e o relatório final ficou fora do padrão do cliente. O workaround foi criar uma coluna extra com =ARRUMAR(MINÚSCULAS(VALOR.CÉLULA)) e ordenar por ela. Nada dramático, só paciência.
Onde e como aplicar, passo a passo
Se você usa Google Sheets, selecione o intervalo, vá em Dados > Ordenar intervalo e escolha a coluna. Se precisar de regras específicas, use a barra lateral de ordenação e adicione níveis. Para mais controle, a abordagem com COLLATE é mais robusta e evita surpresas com acentos. No Excel, selecione os dados, clique em Dados > Ordenar e defina a coluna principal. Se quiser manter os dados originais e criar uma versão ordenada sem alterar a fonte, use a função ORDENAR() numa nova planilha. Ela cria uma matriz dinâmica que atualiza sozinha quando a fonte muda. Em versões mais antigas, a técnica da coluna auxiliar com fórmulas de normalização é o caminho.
Para quem lida com lote grande de textos, scripts em Python com pandas são rápidos. Um trecho simples como df.sort_values('coluna', collation='pt_BR') com a biblioteca pyicu ou até mesmo o unicodedata.normalizing resolve a questão. Dá menos trabalho do que brigar com configurações de regional do sistema operacional.
Pegadinhas comuns e como evitar
1) Espaços invisíveis. Dados colados da web trazem espaços múltiplos ou caracteres de controle. Use TRIM() no Excel ou ARRUMAR() no Google Sheets antes de ordenar. Leva dois minutos e evita frustração. 2) Maiúsculas e minúsculas. A ordenação sensível a caixa pode separar "apple" de "Apple". Se isso não é desejado, normalize primeiro com MINÚSCULAS() ou o equivalente.
👉 Clique no botão abaixo para saber mais sobre o assunto!
3) Acentos e hífens. Algumas configurações de regional tratam hífen como separador e o ignoram na comparação, tratam como caractere normal. Teste com uma amostra pequena antes de aplicar ao banco inteiro. 4) Duplicados disfarçados. "São Paulo" e "Sao Paulo" podem parecer iguais visualmente, mas não são. Se a precisão importa, adicione uma etapa de normalização que remova acentos explicitamente antes de ordenar.
Quando a ordenação alfabética simplesmente não funciona
Em bases multilíngues com caracteres cirílicos, árabe ou asiáticos junto com português, o COLLATE precisa ser configurado por coluna ou por região. Às vezes, o mais sensato é criar colunas de classificação distintas para cada grupo linguístico e depois concatenar os resultados ordenados. Não é bonito, mas evita que "Zulu" fique no meio de uma lista de nomes portugueses por causa de codificação incorreta. Outro caso clássico é ordenar siglas ou códigos internos como "ABNT NBR 14724". O algoritmo vai tratar o espaço e os números de forma estrita, o que pode colocar "ABNT" longe de "ABNT-1". Se o objetivo é agrupamento técnico, use uma expressão regular para extrair o prefixo e ordene por ele separadamente.
Se você precisa de algo mais pesado, como ordenar milhões de linhas mantendo integridade referencial, planilhas não são a ferramenta certa. Mova para um banco SQL e use COLLATE SQL_Latin1_General_CP1_CI_AS (ou equivalente português) na cláusula ORDER BY. O tempo de processamento cai de minutos para segundos e você ganha consistência.
Dica rápida de implementação
Crie sempre uma cópia de segurança dos dados brutos antes de qualquer normalização. Aplica uma fórmula de limpeza numa coluna auxiliar, testa a ordenação nessa coluna com 50 linhas, e só então aplica ao todo. Isso evita retrabalho e reduz o risco de perder dados originais por um erro de referência. Se precisar de um ponto de partida prático, o fluxo básico é: importar limpar espaços e acentos se necessário normalizar caixa ordenar com regra de locale apropriada validar amostra aplicar ao conjunto completo. Seguir essa sequência economiza tempo e evita que surpresas apareçam no relatório final.
Abaixo está um exemplo prático que você pode copiar para o Google Sheets. Ele usa COLLATE com locale pt-BR e retorna os valores ordenados na faixa selecionada. Basta ajustar o intervalo conforme sua necessidade. =ORDENAR(A2:A100; 1; VERDADEIRO; COLLATE(A2:A100; "pt-BR"))
Para Excel 365, a sintaxe é similar com a função ORDENAR combinada a COLLATE, e a performance é boa para listas até algumas dezenas de milhares de linhas. Acima disso, considere migrar para Power Query ou um script Python para manter o controle do processo. A maioria dos problemas de ordenação alfabética em português resolve-se com normalização prévia e uso correto do locale. Quando a coisa complica, a solução geralmente é dividir o problema em etapas menores e testar cada uma antes de avançar. Isso evita retrabalho e mantém a integridade dos dados.
Se você quiser, posso montar um arquivo de exemplo com os passos acima aplicados a um conjunto real de nomes e endereços. É só pedir que eu gero um modelo pronto para importar.