Hoe nummers in een cel in Excel te sorteren?
Het is voor ons gemakkelijk en gebruikelijk om getallen in een lijst met kolommen te sorteren, maar heb je ooit geprobeerd getallen in een enkele cel te sorteren? Misschien is er geen goede manier voor u, behalve ze een voor een te rangschikken, hier zal ik het hebben over het sorteren van getallen in cellen in Excel.
Sorteer getallen in cellen met formule
Sorteer nummers in cellen met door de gebruiker gedefinieerde functie
Sorteer getallen die worden gescheiden door komma's in cellen met VBA-code
Sorteer getallen in cellen met formule
Om getallen in cellen in een werkblad te sorteren, kunt u de volgende lange formule toepassen, doe dit als volgt:
1. Voer naast uw gegevens de volgende formule in, in dit voorbeeld typ ik deze in cel C1, zie screenshot:
=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. Druk vervolgens op Ctrl + Shift + Enter toetsen samen en sleep vervolgens de vulgreep naar het bereik waarop u deze formule wilt toepassen, en u zult zien dat de getallen zijn gesorteerd van klein naar groot. Zie screenshot:
Opmerkingen:
1. Als het cijfer van het getal meer dan 15 in de cel is, krijgt deze formule niet het juiste resultaat.
2. Als u de getallen in aflopende volgorde wilt sorteren, kunt u deze formule gebruiken: =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. In de bovenstaande formules geeft A1 de cel aan die de getallen bevat die u wilt sorteren, u kunt dit naar wens wijzigen.
Sorteer nummers in cellen met door de gebruiker gedefinieerde functie
Omdat de formule enkele beperkingen heeft, kunt u het volgende gebruiken Door de gebruiker gedefinieerde functie om getallen te sorteren in cellen die langer zijn dan 15 cijfers.
1. Houd de ALT + F11 toetsen, en het opent de Microsoft Visual Basic for Applications-venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: sorteer getallen in cellen
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. Sla vervolgens deze code op en sluit deze, ga terug naar uw werkblad en voer deze formule in = sortnumsincell (A1) in een lege cel naast uw gegevens, zie screenshot:
4. En sleep vervolgens de vulgreep naar de cellen waarin u deze formule wilt hebben, en alle getallen in de cellen zijn in oplopende volgorde gesorteerd zoals in het volgende screenshot wordt getoond:
Note: Als u de getallen in aflopende volgorde wilt sorteren, voert u deze formule in = sortnumsincell (A1,1).
Sorteer getallen die worden gescheiden door komma's in cellen met VBA-code
Als uw nummers worden gescheiden door bepaalde tekens, zoals komma, puntkomma, punt enzovoort, zoals in de volgende schermafbeelding, hoe kunt u ze dan in cellen sorteren? Nu introduceer ik een VBA-code zodat u ze kunt sorteren.
1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.
2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.
VBA-code: sorteernummers worden gescheiden door komma's in cellen
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. Druk vervolgens op F5 toets om deze code uit te voeren, en selecteer vervolgens uw cellen die de getallen bevatten in het uitgeklapte promptvenster, zie screenshot:
4. En klik vervolgens op OK, zijn alle nummers in de cellen oplopend gesorteerd in het oorspronkelijke bereik.
Note: U kunt de komma "," wijzigen in andere tekens zoals u nodig hebt in de bovenstaande code. En deze code kan alleen gegevens oplopend sorteren.
Gerelateerde artikelen:
Hoe nummers met koppeltekens in Excel te sorteren?
Gegevens sorteren op de meest voorkomende waarde in Excel?
Hoe e-mailadres sorteren op domein in Excel?
Hoe rijen te sorteren om de lege cellen bovenaan in Excel te plaatsen?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!