Supportnet / Forum / Tabellenkalkulation
Excel sortieren
Frage
hallo zusammen,
ich möchte eine Excel Tabelle sortieren, und zwar in folgender reihenfolge
weiter unten habe ich den ist zustand
05/TT01
081001
093001
093003
093054
10
10127
10147
10151
1016
10188
1026
1046
1054
1058
1089
112
113
113-A
113-B
114
1146
114-B
1154
1158
119
119-2
119-B
119-J
12
12001
12002
12003
12004
121801
1219
1223
122401
122402
1225
12-A
132 NB
14
150/30/1
150/30/2
150/30/D
154080
161
161-B
1645
1662
1663
1667
1668
186401
1866
1867
187101
2010
2012
2110
24
24-1
24-A
24-E
24-F
24-J
25M-06DO
268
2810
2915
2916
2CM-8R
301417
3057
30570
3058
3062
3080
3259
329201
329203
3297
33310
3380
34030
34150
34310
3446
3452
34560
3457
3481
3481
3483
3484
3552
3566
3581
3583
3597
360400
360500
3631
366010
366011
366012
369301
370..
3720
3723
3751
3754
375401
375402
375403
375404
375405
375443
375453
3757
376010
376011
376012
3762
3792
380030
380060
380075
38015
38023
38024
38320
38350
38360
38370
38380
38420
38430
38440
38450
38460
38470
38501
3860
3873
3901
3921
3922
3923
3925
3953
3CM-6R
409500
409515
409721
409723
409724
409727
409753
410 D
410500
410515
410721
410723
410724
412500
412515
412721
412723
412724
412727
414500
414515
414721
414724
414727
416500
416515
416721
416723
416724
417721
417723
417724
418721
418723
418724
42029
42035
42036
42147
42148
4215
421500
421510
4225
4232
4241
4250
426010
426011
426012
426015
426016
4262
426416
426516
427010
427011
427012
4287
43
44
44-P
4800/0,3
4800/0,5
4800/0,7
4881
4CM-4R
501015
501017
501018
501025
501027
501028
501060
501070
501151
53901
5492
5492
610015
610017
610018
610027
610028
610036
610037
610105
610106
610177
610205
610206
610277
610305
610306
610377
611015
ist zustand
4215
4241
4262
42035
42036
42029
4250
42147
42148
421500
421510
3751
3762
3720
426010
426011
426012
Displ.4
376010
376011
376012
3754
Displ.3
426015
426016
426416
426516
Displ.5
375402
375403
375443
375453
Displ.9
375404
375405
427010
427011
427012
Displ.7
366010
366011
366012
Displ.6
38015
38023
Antwort 1 von Saarbauer
Hallo,
das geht nach meiner Ansicht nur mit VBA.
Gruß
Helmut
das geht nach meiner Ansicht nur mit VBA.
Gruß
Helmut
Antwort 2 von CaroS
Hallo frechdax66,
wenn ich Dich richtig verstehe, willst Du einfach nur eine aufsteigende Sortierung entsprechend ASCII-Code durchführen. Nur einmalig für die bestehenden Daten oder soll das Ganze auf Dauer in einem Tabellenblatt mit Formeln angelegt werden? (Für letzteres müsste man noch mal über ein paar "Schönheitsrepararturen" nachdenken.)
Mein Vorschlag zur Vorgehensweise:
1. Abschätzen/berechnen, wie lang der längste Wert ist => Lmax.
(Abschätzen spart eine Hilfsspalte, Lmax einfach großzügig festlegen! Oder Berechnung in einer Hilfsspalte mit B1: =LÄNGE(A1) und Lmax = MAX(B:B). Vielleicht geht´s auch noch kompakter als Matrixfunktion MAX(LÄNGE(A:A))?)
2. An jeden Wert Lmax viele Leerzeichen anhängen.
3. Jeden "verlängerten" Wert auf die Länge Lmax kürzen: C1: = LINKS(A1 & WIEDERHOLEN(" "; Lmax); Lmax) bzw. = LINKS(A1 & WIEDERHOLEN(" "; MAX(B:B)); MAX(B:B))
4. Werte kopieren/ersetzen (Bearbeiten -- Inhalte einfügen... -- Werte) in D:D (oder A:A überschreiben)
5. Werte markieren und sortieren.
(2. + 3. lässt sich natürlich zusammenfassen, indem man an jeden Wert nur so viele Leerzeichen anhängt, bis die Länge Lmax erreicht ist: C1: = A1 & WIEDERHOLEN(" "; Lmax - LÄNGE(A1)) bzw. = A1 & WIEDERHOLEN(" "; MAX(B:B) - LÄNGE(A1)))
Weitere Verbesserungen sind - auch mir - willkommen!
Gruß,
CaroS
wenn ich Dich richtig verstehe, willst Du einfach nur eine aufsteigende Sortierung entsprechend ASCII-Code durchführen. Nur einmalig für die bestehenden Daten oder soll das Ganze auf Dauer in einem Tabellenblatt mit Formeln angelegt werden? (Für letzteres müsste man noch mal über ein paar "Schönheitsrepararturen" nachdenken.)
Mein Vorschlag zur Vorgehensweise:
1. Abschätzen/berechnen, wie lang der längste Wert ist => Lmax.
(Abschätzen spart eine Hilfsspalte, Lmax einfach großzügig festlegen! Oder Berechnung in einer Hilfsspalte mit B1: =LÄNGE(A1) und Lmax = MAX(B:B). Vielleicht geht´s auch noch kompakter als Matrixfunktion MAX(LÄNGE(A:A))?)
2. An jeden Wert Lmax viele Leerzeichen anhängen.
3. Jeden "verlängerten" Wert auf die Länge Lmax kürzen: C1: = LINKS(A1 & WIEDERHOLEN(" "; Lmax); Lmax) bzw. = LINKS(A1 & WIEDERHOLEN(" "; MAX(B:B)); MAX(B:B))
4. Werte kopieren/ersetzen (Bearbeiten -- Inhalte einfügen... -- Werte) in D:D (oder A:A überschreiben)
5. Werte markieren und sortieren.
(2. + 3. lässt sich natürlich zusammenfassen, indem man an jeden Wert nur so viele Leerzeichen anhängt, bis die Länge Lmax erreicht ist: C1: = A1 & WIEDERHOLEN(" "; Lmax - LÄNGE(A1)) bzw. = A1 & WIEDERHOLEN(" "; MAX(B:B) - LÄNGE(A1)))
Weitere Verbesserungen sind - auch mir - willkommen!
Gruß,
CaroS

