Como classificar números em uma célula no Excel?
É fácil e comum classificarmos os números em uma lista de colunas, mas você já tentou classificar os números em uma única célula? Pode ser que não haja uma boa maneira para você, exceto organizá-los um por um, aqui, vou falar sobre como classificar números dentro das células no Excel.
Classifique os números nas células com a fórmula
Classifique os números dentro das células com a função definida pelo usuário
Classifique os números separados por vírgulas dentro das células com o código VBA
Classifique os números nas células com a fórmula
Para classificar os números nas células em uma planilha, você pode aplicar a seguinte fórmula longa, faça o seguinte:
1. Ao lado de seus dados, insira a seguinte fórmula, neste exemplo, irei digitá-la na célula C1, veja a captura de tela:
=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. Então aperte Ctrl + Shift + Enter juntas, arraste a alça de preenchimento até o intervalo em que deseja aplicar esta fórmula e você obterá os números que foram classificados do pequeno ao grande. Veja a imagem:
Observações:
1. Se o dígito do número for maior que 15 na célula, esta fórmula não obterá o resultado correto.
2. Se você deseja classificar os números em ordem decrescente, pode usar esta fórmula: =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))).
3. Nas fórmulas acima, A1 indica a célula que contém os números que você deseja classificar, você pode alterá-la conforme sua necessidade.
Classifique os números dentro das células com a função definida pelo usuário
Como existem algumas limitações da fórmula, você pode usar o seguinte Função definida pelo usuário para classificar números em células com mais de 15 dígitos.
1. Segure o ALT + F11 chaves, e abre o Janela Microsoft Visual Basic for Applications.
2. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.
Código VBA: classifique os números nas células
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
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. Em seguida, salve e feche este código, volte para sua planilha e insira esta fórmula = sortnumsincell (A1) em uma célula em branco ao lado de seus dados, veja a captura de tela:
4. E, em seguida, arraste a alça de preenchimento para as células que você deseja que contenham esta fórmula, e todos os números nas células foram classificados em ordem crescente, conforme mostrado a seguir:
Note: Se você deseja classificar os números em ordem decrescente, insira esta fórmula = sortnumsincell (A1,1).
Classifique os números separados por vírgulas dentro das células com o código VBA
Se seus números forem separados por certos caracteres, como vírgula, ponto e vírgula, ponto e assim por diante, conforme a captura de tela seguinte, como você poderia classificá-los em células? Agora, apresento um código VBA para você classificá-los.
1. Segure o ALT + F11 chaves para abrir o Janela Microsoft Visual Basic for Applications.
2. Clique inserção > Móduloe cole o seguinte código no Janela Módulo.
Código VBA: os números de classificação são separados por vírgulas dentro das células
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set 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, ",")
Next
End Sub
3. Então aperte F5 para executar este código e, em seguida, selecione suas células que contêm os números na caixa de prompt exibida, consulte a captura de tela:
4. E, em seguida, clique em OK, todos os números nas células foram classificados de forma crescente no intervalo original.
Note: Você pode alterar a vírgula “,” para quaisquer outros caracteres conforme necessário no código acima. E esse código só pode classificar os dados de forma ascendente.
Artigos relacionados:
Como classificar números com hifens no Excel?
Como classificar os dados pelo valor mais frequente no Excel?
Como classificar o endereço de e-mail por domínio no Excel?
Como classificar linhas para colocar as células em branco no topo do Excel?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!