Hvordan sorterer man tal i en celle i Excel?
Det er let og almindeligt for os at sortere tal i en kolonneliste, men har du nogensinde prøvet at sortere tal inden for en enkelt celle? Måske er der ingen god måde for dig undtagen at arrangere dem en efter en, her vil jeg tale om, hvordan man sorterer tal inden for celler i Excel.
Sorter tal i celler med formel
Sorter numre i celler med brugerdefineret funktion
Sorter numre, der adskilles med kommaer i celler med VBA-kode
Sorter tal i celler med formel
For at sortere tal inden for celler i et regneark kan du anvende følgende lange formel, gør venligst som denne:
1. Ved siden af dine data skal du indtaste følgende formel, i dette eksempel vil jeg skrive det i celle C1, se skærmbillede:
=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. Tryk derefter på Ctrl + Skift + Enter nøgler sammen, træk derefter fyldhåndtaget over til det område, som du vil anvende denne formel, og du får tallene sorteret fra lille til stor. Se skærmbillede:
Bemærkninger:
1. Hvis cifret i tallet er mere end 15 i cellen, får denne formel ikke det rigtige resultat.
2. Hvis du vil sortere tallene i faldende rækkefølge, kan du bruge denne formel: =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. I ovenstående formler angiver A1 den celle, der indeholder de numre, du vil sortere, du kan ændre den til dit behov.
Sorter numre i celler med brugerdefineret funktion
Da der er nogle begrænsninger for formlen, kan du bruge følgende Brugerdefineret funktion for at sortere tal i celler, der er længere end 15 cifre.
1. Hold nede ALT + F11 tasterne, og det åbner Vinduet Microsoft Visual Basic til applikationer.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: Sorter numre i celler
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. Gem derefter og luk denne kode, gå tilbage til dit regneark, og indtast denne formel = sorteringsnummer (A1) i en tom celle ved siden af dine data, se skærmbillede:
4. Og træk derefter påfyldningshåndtaget til de celler, som du vil have denne formel, og alle numrene i cellerne er sorteret i stigende rækkefølge som vist på følgende skærmbillede:
Bemærk: Hvis du vil sortere tallene i faldende rækkefølge, skal du indtaste denne formel = sorteringsnummer (A1,1).
Sorter numre, der adskilles med kommaer i celler med VBA-kode
Hvis dine tal er adskilt af visse tegn som komma, semikolon, punktum og så videre som følgende skærmbillede, hvordan kan du sortere dem i celler? Nu introducerer jeg en VBA-kode, som du kan sortere dem.
1. Hold nede ALT + F11 nøgler til at åbne Vinduet Microsoft Visual Basic til applikationer.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: Sorteringsnumre adskilles med kommaer inden i celler
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. Tryk derefter på F5 nøgle til at køre denne kode, og vælg derefter dine celler, der indeholder tallene i den poppede prompt-boks, se skærmbillede:
4. Og klik derefter på OK, er alle numrene i cellerne sorteret stigende i det oprindelige interval.
Bemærk: Du kan ændre kommaet “,” til andre tegn, som du har brug for i ovenstående kode. Og denne kode kan kun sortere data stigende.
Relaterede artikler:
Hvordan sorterer man tal med bindestreger i Excel?
Sådan sorteres data efter den hyppigste værdi i Excel?
Hvordan sorterer jeg e-mail-adresse efter domæne i Excel?
Hvordan sorterer man rækker for at placere de tomme celler øverst i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools for Excel, og oplev effektivitet som aldrig før. Kutools for Excel Tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Office Tab Giver fanebladsgrænseflade til Office og gør dit arbejde meget nemmere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!












