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
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)))
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:
Anmerkungen:
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.
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:
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:
Note: Wenn Sie die Zahlen in absteigender Reihenfolge sortieren möchten, geben Sie bitte diese Formel ein = sortnumsincell (A1,1).
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.
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):
4. Und dann klick OKAlle Zahlen in den Zellen wurden im ursprünglichen Bereich aufsteigend sortiert.
Note: 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?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
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 jeden Tag Hunderte von Mausklicks für Sie!