Note: The other languages of the website are Google-translated. Back to English
Einloggen  \/ 
x
or
x
Registrieren  \/ 
x

or

Wie sortiere ich Zahlen innerhalb einer Zelle in Excel?

Es ist für uns einfach und üblich, Zahlen in einer Spaltenliste zu sortieren. Haben Sie jemals versucht, Zahlen in einer einzelnen Zelle zu sortieren? Vielleicht gibt es keinen guten Weg für Sie, außer sie einzeln anzuordnen. Hier werde ich darüber sprechen, wie Sie Zahlen in Zellen in Excel sortieren.

Zahlen innerhalb von Zellen mit Formel sortieren

Sortieren Sie Nummern in Zellen mit der benutzerdefinierten Funktion

Sortieren Sie Zahlen, die durch Kommas in Zellen mit VBA-Code getrennt sind


Pfeil blau rechte Blase Zahlen innerhalb von Zellen mit Formel sortieren

Um Zahlen innerhalb von Zellen in einem Arbeitsblatt zu sortieren, können Sie die folgende lange Formel anwenden. Gehen Sie dazu folgendermaßen vor:

1. Geben Sie neben Ihren Daten die folgende Formel ein. In diesem Beispiel gebe ich sie in Zelle C1 ein, siehe 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-sortiernummern-in-zellen-1

2. Dann drücken Strg + Umschalt + Enter Ziehen Sie die Tasten zusammen und ziehen Sie den Füllpunkt in den Bereich, in dem Sie diese Formel anwenden möchten. Die Zahlen wurden von klein nach groß sortiert. Siehe Screenshot:

doc-sortiernummern-in-zellen-1

Hinweise:

1. Wenn die Ziffer der Zahl mehr als 15 in der Zelle beträgt, erhält diese Formel nicht das richtige Ergebnis.

2. Wenn Sie die Zahlen in absteigender Reihenfolge sortieren möchten, können Sie folgende Formel verwenden: =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 den obigen Formeln gibt A1 die Zelle an, die die zu sortierenden Zahlen enthält. Sie können sie nach Bedarf ändern.


Pfeil blau rechte Blase Sortieren Sie Nummern in Zellen mit der benutzerdefinierten Funktion

Da die Formel einige Einschränkungen aufweist, können Sie Folgendes verwenden Benutzerdefinierte Funktion um Zahlen in Zellen zu sortieren, die länger als 15 Stellen sind.

1. Halten Sie die Taste gedrückt ALT + F11 Tasten, und es öffnet die Microsoft Visual Basic für Applikationen-Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.

VBA-Code: Nummern innerhalb von Zellen sortieren

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. Speichern und schließen Sie diesen Code, kehren Sie zu Ihrem Arbeitsblatt zurück und geben Sie diese Formel ein = sortnumsincell (A1) in eine leere Zelle neben Ihren Daten, siehe Screenshot:

doc-sortiernummern-in-zellen-1

4. Ziehen Sie dann den Füllpunkt auf die Zellen, die diese Formel enthalten sollen, und alle Zahlen in den Zellen wurden in aufsteigender Reihenfolge sortiert, wie im folgenden Screenshot gezeigt:

doc-sortiernummern-in-zellen-1

Hinweis: Wenn Sie die Zahlen in absteigender Reihenfolge sortieren möchten, geben Sie bitte diese Formel ein = sortnumsincell (A1,1).


Pfeil blau rechte Blase Sortieren Sie Zahlen, die durch Kommas in Zellen mit VBA-Code getrennt sind

Wenn Ihre Zahlen durch bestimmte Zeichen wie Komma, Semikolon, Punkt usw. wie im folgenden Screenshot getrennt sind, wie können Sie sie in Zellen sortieren? Jetzt führe ich einen VBA-Code ein, damit Sie sie sortieren können.

doc-sortiernummern-in-zellen-1

1. Halten Sie die Taste gedrückt ALT + F11 Schlüssel zum Öffnen der Microsoft Visual Basic für Applikationen-Fenster.

2. Klicken Sie Insert > Modulund fügen Sie den folgenden Code in das Feld ein Modulfenster.

VBA-Code: Sortiernummern werden in Zellen durch Kommas getrennt

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. Dann drücken F5 Geben Sie die Taste ein, um diesen Code auszuführen, und wählen Sie dann Ihre Zellen aus, die die Zahlen im ausgeblendeten Eingabeaufforderungsfeld enthalten (siehe Abbildung):

doc-sortiernummern-in-zellen-1

4. Und dann klick OKAlle Zahlen in den Zellen wurden im ursprünglichen Bereich aufsteigend sortiert.

Hinweis: Sie können das Komma "," in beliebige andere Zeichen ändern, wie Sie im obigen Code benötigen. Und dieser Code kann Daten nur aufsteigend sortieren.


In Verbindung stehende Artikel:

Wie sortiere ich Zahlen mit Bindestrichen in Excel?

So sortieren Sie Daten nach dem häufigsten Wert in Excel?

Wie sortiere ich die E-Mail-Adresse nach Domain in Excel?

Wie sortiere ich Zeilen, um die leeren Zellen in Excel oben zu platzieren?


Die besten Tools für die Office-Produktivität

Kutools für Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formula Bar (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Vollständige Funktionen 30 Tage kostenlose Testversion. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50% und reduziert täglich Hunderte von Mausklicks für Sie!
officetab unten
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    omer1905 · 9 months ago
    Hi thanks for nice good for sorting numbers which separated by commas within cells with VBA code

    Just I have faced one problem with the code.

    The code cannot detect three digit number. for example the numbers (65, 93, 53, 72, 64, 85, 103, 48, 77, 81, 54) after applying the code, the new order (103, 48, 53, 54, 64, 65, 72, 77, 81, 85, 93)

    Do you have any solution for the problem?
    • To post as a guest, your comment is unpublished.
      skyyang · 9 months ago
      Hello, omer,
      May be the below code can help you, please try:

      Public Function CellSort(r As Range) As String Dim bry() As Long, L As Long, U As Long ch = r(1).Text ary = Split(ch, ",") L = LBound(ary) U = UBound(ary) ReDim bry(L To U) For i = LBound(ary) To UBound(ary) bry(i) = CLng(ary(i)) Next i Call BubbleSort(bry) For i = LBound(bry) To UBound(bry) ary(i) = CStr(bry(i)) Next i CellSort = Join(ary, ",") End Function Sub BubbleSort(arr) Dim strTemp As Variant Dim i As Long Dim j As Long Dim lngMin As Long Dim lngMax As Long lngMin = LBound(arr) lngMax = UBound(arr) For i = lngMin To lngMax - 1 For j = i + 1 To lngMax If arr(i) > arr(j) Then strTemp = arr(i) arr(i) = arr(j) arr(j) = strTemp End If Next j Next i End Sub
      After inserting the above code, please apply this formula: =CellSort(A1).
      And you will get the result you need.
  • To post as a guest, your comment is unpublished.
    Biplab Das · 1 years ago
    How to sort A-Z text within a cell in Excel?
  • To post as a guest, your comment is unpublished.
    WALLAS · 1 years ago
    hOLA, MI PROBLEMA ES QUE TENGO EXEL 2019 EN ESPAÑOL COMO SERIA LA FORMULA?
  • To post as a guest, your comment is unpublished.
    MF · 3 years ago
    Hi, the VBA code seems to output incorrectly, example before 13,50,47,7,39 and after 13-39-47-50-7. Any ideas why?
  • To post as a guest, your comment is unpublished.
    Jijoy P Jacob · 3 years ago
    i want to sort total an amount 14000 to 20000 from various row Example:- 2000,1500 one row and like that all row amount to arrange
  • To post as a guest, your comment is unpublished.
    orly · 4 years ago
    need to sort 84-12-74-26-98 any order 12-26-74-84-98 or 98-84-74-26-12
    thank you
    • To post as a guest, your comment is unpublished.
      dd · 1 years ago
      If CInt(Arr(xMin)) > CInt(Arr(j)) and it works
  • To post as a guest, your comment is unpublished.
    Dave · 4 years ago
    Is there is any way to sort more numbers in same time from one cell? Example, i have a list of 50000 asset numbers such as A1234,A1235... and i need to pull 500 specific numbers and i need to pull 500 at the time to make change and save.Thank you
  • To post as a guest, your comment is unpublished.
    Brian Dolan · 4 years ago
    I have a series of cells with numbers separated by a space that I want to sort.
    eg 8 4 5 1 6 3 that I want to sort as 1 3 4 5 6 8
    Any help appreciated
  • To post as a guest, your comment is unpublished.
    wschloss · 6 years ago
    Hi, I was wondering how this UDF, [b]=sortnumsincell(A1,1)[/b], can be modified more generally, like [b]=sortnumsincell(A1," "," ",,1)[/b] where the first argument, [b]A1[/b], is the target cell, the second argument,[b]" "[/b], is a delimiter that could take any character, or a space, or nothing, with third argument, [b]" "[/b], a different or same delimiter, and the fourth argument, [b]1 or 0[/b], indicating an ascending or descending sort, with the result string displaying, correctly sorted, within one cell, with delimiter default same as the original string unless specified in the third term. I would like it to work both on string and numerical, and sometimes the second or third argument might be a line feed, as would be manually entered with alt-enter.
    You'd be my hero of the month if you could do that. I tried but failed miserably.
    Thank you.
  • To post as a guest, your comment is unpublished.
    noob · 6 years ago
    sir, could you please help to sort the data for the duplicate first whether it's small or big
    Example
    1211 ---> 1112
    9495 ---> 9945
    7379 ---> 7739

    Thanks a lot for your help