? Hvordan sortere tall i en celle i

To Excel sorterings tallene i cellene i et regneark, kan du bruke følgende lang formel, kan du gjøre som dette:
1. Ved siden av dine data, kan du skrive inn følgende formel, i dette eksempelet, vil jeg skrive det inn i celle C1, se 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. Deretter trykker du Ctrl + Shift + Enter-tastene sammen, og drar fyllhåndtaket over til området som du ønsker å bruke denne formelen, og du vil få tallene er sortert fra liten til stor. Se skjermbilde:
Merknader:
1. Dersom siffer i nummeret er mer enn 15 i cellen, vil denne formelen ikke få riktig resultat.
2. Hvis du ønsker å sortere tallene i synkende rekkefølge, kan du bruke denne formelen: =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 formlene ovenfor, indikerer A1 cellen som inneholder tallene du vil sortere, kan du endre den til ditt behov.

Sortere tall innenfor celler med brukerdefinerte funksjonen
som det er noen begrensninger i formelen, kan du bruke følgende brukerdefinert funksjon for å sortere tallene i cellene lenger enn 15 siffer.
1. Hold nede ALT + F11-tastene, og det åpner Microsoft Visual Basic for Applications vinduet.
2. Klikk Sett > Modul, og lim inn følgende kode i modulen Window
VBA-kode. Sortere tall i cellene
Funksjon SortNumsInCell (pNum As String, Optional pOrder As Boolean) Som String'Update 20140717Dim xOutput Som StringFor i = 0 til 9 For j = 1 Til UBound (VBA.Split (pNum, i)) xOutput = IIf (pOrder, i & xOutput, xOutput & i) NextNextSortNumsInCell = xOutputEnd Function3. Deretter lagre og lukke denne koden, kan du gå tilbake til regnearket, og skriv inn denne formelen = sortnumsincell (A1) i en tom celle ved siden av dine data, kan du se skjermdump:
4. Og deretter drar fyllhåndtaket til cellene som du vil inneholde denne formelen, og alle tallene i cellene er sortert i stigende rekkefølge som følgende skjermbilde vises:
Merk: Hvis du vil sortere tallene i synkende rekkefølge, setter du inn denne formelen = sortnumsincell (A1,1).

Sortere tall som er atskilt med komma innen celler med VBA-kode
Hvis tallene er atskilt med visse tegn som komma, semikolon, periode og så videre som følgende skjermbilde, hvordan kunne du sortere dem i cellene? Nå, jeg introdusere en VBA-kode for å sortere dem.
En. Hold nede ALT + F11-tastene for å åpne Microsoft Visual Basic for Applications vinduet.
2. Klikk Sett > Modul, og lim inn følgende kode i modulen Window
VBA-kode. Sortere tallene er atskilt med komma i cellene
Sub SortNumsInRange () 'Update 20140717Dim RNG Som RangeDim WorkRng Som RangeDim Arr Som VariantOn Error Resume NextxTitleId = " KutoolsforExcel "Set WorkRng = Application.SelectionSet WorkRng = Application.InputBox (" Range ", xTitleId, WorkRng.Address, Type: = 8) Set objArrayList = Create (" System.Collections.ArrayList ") for hver RNG I WorkRng Arr = VBA .Split (Rng.Value, ",") For i = 0 For å UBound (Arr) xMin = i For j = i + 1 Til UBound (Arr) Hvis Arr (xMin) > Arr (j) Deretter xMin = j End If Neste j Hvis xMin < > Jeg så temp = Arr (i) Arr (i) = Arr (xMin) Arr (xMin) = temp End If Neste jeg Rng.Value = VBA.Join (Arr, ",") NextEnd Sub3. Deretter trykker F5 for å kjøre denne koden, og deretter velger du cellene som inneholder tallene i spratt ut teksten boksen, se skjermbilde:
4. Og klikk deretter på OK, har alle tallene i cellene er sortert ascendingly i den opprinnelige serien
. Merk: Du kan endre komma "," til andre tegn som du trenger i koden ovenfor. Og denne koden kun kan sortere data ascendingly. Anmeldelser