Note: The other languages of the website are Google-translated. Back to English

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


pijl blauw rechts bel 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)))

doc-sorteer-nummers-in-cellen-1

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:

doc-sorteer-nummers-in-cellen-1

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.


pijl blauw rechts bel 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:

doc-sorteer-nummers-in-cellen-1

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:

doc-sorteer-nummers-in-cellen-1

Opmerking:: Als u de getallen in aflopende volgorde wilt sorteren, voert u deze formule in = sortnumsincell (A1,1).


pijl blauw rechts bel 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.

doc-sorteer-nummers-in-cellen-1

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:

doc-sorteer-nummers-in-cellen-1

4. En klik vervolgens op OK, zijn alle nummers in de cellen oplopend gesorteerd in het oorspronkelijke bereik.

Opmerking:: 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?


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

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!
officetab onderkant
Heb je vragen? Stel ze hier. (13)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
meneer, kunt u alstublieft helpen om de gegevens voor het duplicaat eerst te sorteren, of het nu klein of groot is Voorbeeld 1211 ---> 1112 9495 ---> 9945 7379 ---> 7739 Hartelijk dank voor uw hulp
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik vroeg me af hoe deze UDF, = sortnumsincell (A1,1), kan meer in het algemeen worden gewijzigd, zoals =sortnumsincell(A1," "," ",,1) waar het eerste argument, A1, is de doelcel, het tweede argument,"", is een scheidingsteken dat elk teken, of een spatie, of niets kan aannemen, met een derde argument, "", een ander of hetzelfde scheidingsteken, en het vierde argument, 1 of 0, wat een oplopende of aflopende sortering aangeeft, waarbij de resultaatreeks correct gesorteerd wordt weergegeven, binnen één cel, met een scheidingsteken dat standaard hetzelfde is als de originele reeks, tenzij gespecificeerd in de derde term. Ik zou willen dat het zowel op string als numeriek werkt, en soms kan het tweede of derde argument een regelinvoer zijn, zoals handmatig zou worden ingevoerd met alt-enter. Je zou mijn held van de maand zijn als je dat zou kunnen. Ik heb het geprobeerd maar faalde jammerlijk. Dank u.
Deze opmerking is gemaakt door de moderator op de site
Ik heb een reeks cellen met getallen gescheiden door een spatie die ik wil sorteren. bijv. 8 4 5 1 6 3 die ik wil sorteren als 1 3 4 5 6 8 Alle hulp wordt gewaardeerd
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om meer getallen in dezelfde tijd uit één cel te sorteren? Voorbeeld, ik heb een lijst met 50000 activanummers zoals A1234, A1235 ... en ik moet 500 specifieke nummers trekken en ik moet er 500 tegelijk ophalen om verandering aan te brengen en op te slaan. Bedankt
Deze opmerking is gemaakt door de moderator op de site
moet sorteren 84-12-74-26-98 elke bestelling 12-26-74-84-98 of 98-84-74-26-12 bedankt
Deze opmerking is gemaakt door de moderator op de site
Als CInt(Arr(xMin)) > CInt(Arr(j)) en het werkt
Deze opmerking is gemaakt door de moderator op de site
ik wil een totaalbedrag van 14000 tot 20000 uit verschillende rijen sorteren Voorbeeld: - 2000,1500 één rij en zo moet het hele rijbedrag worden gerangschikt
Deze opmerking is gemaakt door de moderator op de site
Hallo, de VBA-code lijkt onjuist te worden uitgevoerd, bijvoorbeeld vóór 13,50,47,7,39 en na 13-39-47-50-7. Enig idee waarom?
Deze opmerking is gemaakt door de moderator op de site
hOLA, MI PROBLEEM ES QUE TENGO EXEL 2019 EN ESPAÑOL COMO SERIA LA FORMULE?
Deze opmerking is gemaakt door de moderator op de site
Hoe AZ-tekst in een cel in Excel sorteren?
Deze opmerking is gemaakt door de moderator op de site
Hallo, bedankt voor het goede voor het sorteren van getallen die gescheiden zijn door komma's in cellen met VBA-code
Ik heb alleen een probleem gehad met de code.
De code kan geen driecijferig nummer detecteren. bijvoorbeeld de nummers (65, 93, 53, 72, 64, 85, 103, 48, 77, 81, 54) na het toepassen van de code, de nieuwe volgorde (103, 48, 53, 54, 64, 65, 72, 77, 81, 85, 93)
Heeft u een oplossing voor het probleem?
Deze opmerking is gemaakt door de moderator op de site
Hallo, omer, misschien kan de onderstaande code je helpen, probeer het alsjeblieft:
Publieke functie CellSorteren (r As Range) As String
Dim bry() Zo lang, L zo lang, U zo lang
ch = r(1).Tekst
ary = Splitsen (ch, ",")
L = LBound(air)
U = UBound(air)
ReDim bry (L naar U)
Voor i = LBound(ary) Naar UBound(ary)
bry(i) = CLng(ary(i))
Volgende i
Bel BubbleSort(bry)
Voor i = LBound(bry) Naar UBound(bry)
ary(i) = CStr(bry(i))
Volgende i
CellSorte = Samenvoegen (ary, ",")
End Function

Sub BubbleSorteer(arr)
Dim strTemp als variant
Dim ik zo lang
Dim j zo lang
Dim lngMin zo lang
Dim lngMax zo lang
lngMin = LBound(arr)
lngMax = UBound(arr)
Voor i = lngMin Naar lngMax - 1
Voor j = i + 1 Naar lngMax
Als arr(i) > arr(j) Dan
strTemp = arr(i)
arr(i) = arr(j)
arr(j) = strTemp
End If
Volgende j
Volgende i
End SubNa het invoegen van de bovenstaande code, past u deze formule toe: =CelSorteren(A1).En je krijgt het gewenste resultaat.
Deze opmerking is gemaakt door de moderator op de site
Hola, se pueden ordernar letras en una sola celda por orden alfabético? U gebruikt Excel voor Mac. Gracias
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL