Excel: sortieren alpahnumerischer Ausdrücke

OP #2917834
Ich möchte in Excel Texte sortieren, die etwa so aussehen:
A1, A2, ... A9, A10, A11, B1, ... B9, B10, B12, ...
derart sortieren, dass die Zahlen nach den Buchstaben in der numerisch 
richtigen Reihenfolge stehen.
Also etwa so:

A1
A2
...
A9
A10
A11
...
B1
B2
...
B9
B10
B12
...

Was Excel standardmäßig liefert, ist leider das hier:
A1
A10
A11
A2
...
(Halt eine reine Textsortierung ohne Berücksichtigung der Zahlenwerte.)
Weiß da jemand eine Möglichkeit?
Gast #2917889
Die nächste Lösung die mir in den Sinn käme wäre die Daten auf zwei 
Spalten aufzuteilen und multi-column sort zu machen

Spalte1 | Spalte 2
A         1
A         11
B         2
B         3

Und dann Sortieren nach Spalte1, bei Gleichheit nach Spalte2, wobei 
Spalte2 nicht als Text sondern numerisch behandelt werden soll.
Gast #2917903
Michael S. schrieb:
> Ich möchte in Excel Texte sortieren, die etwa so aussehen:A1, A2, ... A9, A10, 
A11, B1, ... B9, B10, B12, ...derart sortieren, dass die Zahlen nach den 
Buchstaben in der numerisch richtigen Reihenfolge stehen.Also etwa 
so:A1A2...A9A10A11...B1B2...B9B10B12...Was Excel standardmäßig liefert, ist leider 
das hier:A1A10A11A2...(Halt eine reine Textsortierung ohne Berücksichtigung der 
Zahlenwerte.)Weiß da jemand eine Möglichkeit?

Schmeiss den VB Editor an und schreibe dir eine eigene Sortierroutine.
Sollte nicht besonders schwer sein.
Du trennst zunächst Buchstaben- und Zahlenteil und sortierst 
anschließend den alphanumerischen Teil. Anschließend läuft eine zweite 
Sortierung über die numerischen Komponenten gleicher alphanumerischer 
Teile.
Gast #2917909
D. I. schrieb:
> Die "einfachste" Lösung wäre:A01A02B01B11......


Der Ansatz von D. I. (grotesque) ist natürlich auch nicht schlecht, d.h. 
du sorgst dafür, dass dein Input mit ausreichend führenden Nullen 
ausgestattet ist. Ist dies nicht möglich ist der Retter möglicherweise 
wieder eine kurze VB Routine, die den Input aufbereitet.
OP #2917930
Ich danke Euch allen für Eure schnellen Antworten!

@D.I. :
Die Daten fallen so ab, wie beschrieben. Eine führende Null ist nicht 
vorhanden und möchte ich auch nicht einfügen.
Die Idee aus Deinem zweiten Vorschlag hatte ich inzwischen selber und 
habe die Texte aufgeteilt (zum Glück ist der Alpha-Anteil links immer 
nur ein Zeichen lang, so dass dies besonders einfach war).

@VBA:
Das wollte ich vermeiden, VBA anzuwerfen. Ich bin im Umgang damit nicht 
firm und muss mich jedes Mal erst wieder einarbeiten, um damit etwas 
hinzukriegen.
In diesem Falle brauchte ich einfach eine schnelle Lösung.
Grundsätzlich führt daran aber evtl. kein Weg vorbei.
Ich habe nämlich öfter den Wunsch, Dinge anders zu sortieren, als Excel 
es von sich aus macht.
Beispiel: Stücklisten.
Bauteilbezeichner -> ähnliches Problem wie oben beschrieben.
Ganz übel: Bauteilwerte, am besten noch mit Einheiten, am besten noch 
mit verschiedenen Vorsilben vor den Einheiten (Mega, Kilo, Milli, Mikro, 
etc.)
#2917960
Das geht mit einer Extra-Sortierspalte, (einfach irgendwo einfügen), in 
der nur noch die aus A1, A2, A3, ..., TextIrgendwas952 extrahierten 
Zahlen stehen, also 1, 2 ,3, ..., 952.

Das geht mit folgender Formel:

{=1*TEIL(A1;VERGLEICH(WAHR;ISTZAHL(1*TEIL(A1;ZEILE($1:$9);1));0);ANZAHL( 
1*TEIL(A1;ZEILE($1:$9);1)))}

Die {} bedeuten "Matrixformel", d.h. man gibt den Formeltext normal ein 
also:

=1*TEIL(A1;VERGLEICH(WAHR;ISTZAHL(1*TEIL(A1;ZEILE($1:$9);1));0);ANZAHL(1 
*TEIL(A1;ZEILE($1:$9);1)))

und drückt zum Abschluss STRG+UMSCHALT+EINGABETASTE dadurch werden die 
{} geschweiften Klammern eingefügt.

Hier gibts noch einen Artikel von Microsoft dazu:
http://office.microsoft.com/de-de/excel-help/extrahieren-von-zahlen-aus-alphanumerischen-zeichenfolgen-HA001154901.aspx


Alternativ könnte man anstatt "*1" auch "WERT" verwenden:
{=WERT(TEIL(A1;VERGLEICH(WAHR;ISTZAHL(1*TEIL(A1;ZEILE($1:$9);1));0);ANZA 
HL(1*TEIL(A1;ZEILE($1:$9);1))))}

Nachtrag:
$1:$9 legt die maximale Stringlänge fest hier also 9 Zeichen, bei 
längeren Strings z.B. bis 20 Zeichen, schreibt man dann entsprechend 
$1:$20 etc.
OP #2922684
@Albrecht H.
Vielen Dank, Deine Ausführungen und der Artikel sind sehr interessant 
für mich. Sieht so aus, wie die Grundlagen zur Lösung von so manchen 
Problemen, die ich in der Vergangenheit schon hatte und die immer 'mal 
wiederkehren!

:)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.