Como ordenar números dentro de uma célula no Excel?
Ao trabalhar com o Excel, ordenar números numa gama de células ou numa coluna é uma tarefa comum e simples. Contudo, há situações em que poderá precisar de ordenar números todos contidos numa única célula — por exemplo, ao receber dados importados, relatórios consolidados ou ficheiros exportados onde vários números são armazenados juntos, sem estarem separados em células distintas. Ordenar manualmente esses números pode revelar-se ineficiente e propenso a erros, especialmente quando lida com grandes volumes de dados ou células com muitos dígitos. Com técnicas específicas, consegue reordenar rapidamente os números dentro de cada célula individual, garantindo assim a organização e preparação ideais para análise.
Neste artigo, descubra várias formas práticas de ordenar números dentro de células no Excel — desde métodos com fórmulas e funções definidas pelo utilizador até soluções com código VBA. Cada abordagem tem as suas vantagens e adapta-se a cenários distintos, permitindo-lhe escolher a solução que melhor responde às suas necessidades.
Ordenar números dentro de células com uma fórmula
Ordenar números dentro de células com uma Função Definida pelo Utilizador
Ordenar números separados por vírgulas dentro de células com código VBA
Ordenar números dentro de células utilizando a funcionalidade Preenchimento Rápido do Excel
Ordenar números dentro de células com uma fórmula
Para casos simples em que todos os números numa célula são dígitos únicos e não há delimitadores, pode utilizar uma fórmula matricial para ordenar automaticamente os dígitos na célula. Esta abordagem revela-se especialmente útil ao trabalhar com códigos, identificadores ou qualquer cenário em que os dígitos únicos de uma célula precisem de ser reorganizados por ordem crescente.
Siga estes passos detalhados:
1. Insira uma nova coluna junto aos seus dados. Por exemplo, se os seus números estiverem na célula A1, clique na célula C1 e introduza a seguinte fórmula:
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))

2. Como se trata de uma fórmula matricial, confirme a introdução premindo Ctrl + Shift + Enter. Irão aparecer chavetas em torno da fórmula na Barra de Fórmulas, indicando que esta é avaliada como uma matriz.
Depois disso, arraste a alça de preenchimento para baixo para copiar a fórmula para as outras células em que precisar da função de ordenação. Os números em cada célula serão automaticamente organizados por ordem crescente. Veja o exemplo abaixo:

Para facilitar a utilização, certifique-se novamente de que está a referenciar as células corretas e de que os seus dados originais contêm apenas dígitos, já que texto misto ou caracteres adicionais podem causar problemas.
Notas:
- Se uma célula contiver mais de 15 dígitos, esta fórmula poderá não funcionar com precisão devido ao limite predefinido do Excel para precisão numérica. Para cadeias mais longas ou arranjos de dígitos mais complexos, considere utilizar soluções VBA ou uma Função Definida pelo Utilizador.
- Para ordenar números por ordem decrescente, pode substituir PEQUENOpor GRANDEna fórmula e utilizar:
=TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),ROW(INDIRECT("1:"&LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&LEN(A1))))),REPT("0",LEN(A1)))
Esta fórmula funciona da mesma forma, mas ordena os dígitos do maior para o menor.
- Nestas fórmulas, A1 refere-se à célula que contém os números que pretende ordenar. Se os seus dados estiverem noutra célula, basta atualizar a referência em conformidade.
- Se encontrar um erro #VALOR!, certifique-se de que a célula contém apenas dígitos, sem espaços nem outros caracteres.
- Ao aplicar este método a um conjunto de dados extenso, certifique-se de que as opções de cálculo do seu sistema estão definidas como automáticas, para garantir que os resultados das fórmulas sejam atualizados corretamente à medida que copia ou modifica os dados.

Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Ordenar números dentro de células com uma Função Definida pelo Utilizador
Em determinadas situações — como ao trabalhar com números de mais de 15 dígitos ou quando necessita de maior flexibilidade — uma Função Definida pelo Utilizador (UDF) oferece uma alternativa robusta. As UDF permitem automatizar a ordenação diretamente nas células, especialmente quando os seus requisitos ultrapassam o que as fórmulas padrão do Excel conseguem fazer.
Esta solução é ideal para utilizadores que trabalham frequentemente com colunas de dados importados ou códigos agrupados numa única célula, cujo comprimento pode ser considerável e cujos números possam necessitar de ordenação repetida.
Eis como implementá-la:
1. Prima e mantenha premido ALT + F11 para abrir a janela do Microsoft Visual Basic para Aplicações (VBA).
2. Na janela do VBA, clique em Inserir > Módulo e, de seguida, copie e cole o seguinte código na janela do módulo recém-criado:
Código VBA: Ordenar números dentro de células
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'UpdatebyExtendoffice
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3.Após colar o código, guarde e feche o editor do VBA. Regresse à sua folha de cálculo e, numa célula vazia adjacente aos seus dados (como B1 ou C1), introduza:
=sortnumsincell(A1)

4. Arraste a alça de preenchimento para aplicar a função às restantes células, conforme necessário. Todos os números nas células-alvo serão agora ordenados por ordem crescente, tal como ilustrado abaixo:

Nota:Se pretender que os números sejam ordenados por ordem decrescente, introduza antes a seguinte fórmula:
=sortnumsincell(A1,1)
O argumento adicional ()1) indica à função que realize uma ordenação decrescente.
Esta solução baseada em UDF oferece maior flexibilidade e precisão com conjuntos de dados maiores ou mais complexos, ajudando a evitar erros comuns causados por limitações de dígitos nas fórmulas.
Se encontrar erros de compilação, verifique se o código do módulo foi colado corretamente e se o nome da função corresponde ao utilizado na fórmula da sua folha de cálculo.
Ordenar números separados por vírgulas dentro de células com código VBA
Quando os números numa célula forem separados por delimitadores específicos — como vírgulas, pontos e vírgulas ou até pontos — as soluções com fórmulas incorporadas podem revelar-se inadequadas. Nestes casos, pode recorrer a um código VBA personalizado para ordenar os números de forma eficiente, independentemente do número de células em processamento.
Os cenários aplicáveis incluem listas exportadas de bases de dados, respostas a inquéritos recolhidas ou qualquer conjunto de dados em que valores numéricos estejam armazenados numa única célula e separados por um carácter consistente.
Siga estes passos para executar o código VBA para ordenação:

1. Prima ALT + F11 para abrir a janela do Microsoft Visual Basic para Aplicações.
2. Clique em Inserir > Módulo e cole o código abaixo na janela do módulo:
Código VBA: Ordenar números separados por vírgulas dentro de células
Sub SortNumsInRange()
'Update20140717Dim Rng As RangeDim WorkRng As RangeDim Arr As VariantOn Error Resume NextxTitleId = "KutoolsforExcel"
Set WorkRng = Application.SelectionSet WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng Arr = VBA.Split(Rng.Value, ",")
For i =0 To UBound(Arr)
xMin = i For j = i +1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then xMin = j End If Next j If xMin <> i Then temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp End If Next i Rng.Value = VBA.Join(Arr, ",")
NextEnd Sub 3. Para executar o código, prima F5. Irá surgir uma mensagem que lhe permite selecionar a gama com as células que pretende ordenar.

4. Após confirmar com OK, o código irá ordenar os números em todas as células selecionadas por ordem crescente, aplicando as alterações diretamente sem afetar outro conteúdo das células.
Nota: Se os seus números forem separados por outro carácter (por exemplo, ponto e vírgula ou espaço), basta substituir a vírgula “,” em Split(Rng.Value, ",") e Join(Arr, ",") pelo delimitador pretendido em ambos os locais do código.
Este código ordena apenas em ordem crescente. Para ordenar em ordem decrescente, poderá precisar de ajustar a lógica de ordenação no código VBA. Ao utilizar VBA, guarde sempre a sua pasta de trabalho antes de executar o código, pois as alterações são imediatas e não podem ser anuladas com a funcionalidade Anular.
Se uma célula contiver conteúdo não numérico, o código poderá não gerar o resultado desejado; verifique se os seus dados incluem conteúdo misto antes de executar.
Ordenar números dentro de células utilizando a funcionalidade Preenchimento Rápido do Excel
Para conjuntos de dados pequenos ou sempre que os números numa célula seguirem um padrão previsível, a funcionalidade Preenchimento Rápido do Excel oferece uma solução manual rápida e eficaz — especialmente ideal quando precisa de ordenar números em apenas algumas células com uma estrutura simples.
Eis como utilizar o Preenchimento Rápido para ordenar números dentro de células:
1. Numa nova coluna adjacente aos seus dados, digite manualmente a versão ordenada dos algarismos do número na sua primeira célula (por exemplo, se A1 contiver)8371, digite 1378 na célula B1).
2. Selecione a célula seguinte na mesma coluna e comece a digitar a versão ordenada da entrada seguinte. Após introduzir alguns exemplos, prima Ctrl + E (atalho do Preenchimento Rápido). O Excel reconhecerá automaticamente o padrão e preencherá as restantes células com base no seu exemplo de ordenação.
Esta técnica é rápida, mas adequa-se sobretudo a listas curtas ou quando os dados seguem um padrão muito regular. Requer que introduza pelo menos alguns resultados ordenados para que o Excel identifique a transformação pretendida.
O Preenchimento Rápido não funciona de forma fiável com padrões complexos nem quando os números estão separados por caracteres especiais. Reveja sempre os resultados gerados automaticamente para garantir a sua exatidão.
Nota: Este método poderá não funcionar em todas as situações.
Ao escolher uma abordagem, tenha em conta a estrutura dos seus dados (dígitos isolados versus números com separadores), o comprimento da cadeia de dados e o número de células a processar. Os métodos baseados em fórmulas revelam-se mais eficazes com cadeias curtas e sem delimitadores, enquanto as soluções em VBA ou UDF proporcionam maior flexibilidade e potência para conjuntos de dados complexos ou extensos.
Verifique cuidadosamente os seus dados originais quanto a espaços ocultos, texto residual ou problemas de formatação antes de aplicar qualquer solução. Após ordenar os números, é boa prática confirmar o resultado comparando algumas amostras com a entrada original.
Se encontrar algum problema, certifique-se de que a sua versão do Excel suporta fórmulas matriciais (o Excel 2016 ou posterior oferece melhor compatibilidade) e de que as macros estão ativadas para os métodos em VBA. Caso a ordenação não funcione como esperado, ajuste a fórmula ou o código VBA de modo a adaptá-lo à estrutura das suas células.
Artigos relacionados:
Como ordenar números com hífens no Excel?
Como ordenar dados pelo valor mais frequente no Excel?
Como ordenar Endereço de Email por domínio no Excel?
Como ordenar as linhas para colocar as células vazias no topo no Excel?
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos