Du hast Datensätze, bei denen die Felder in einer Spalte untereinander angeordnet sind. Nach dem ersten Feld des Datensatzes soll sortiert werden, die anderen Felder sollen natürlich richtig mitsortiert werden. Zudem kann die Anzahl Felder pro Datensatz varieren.
|
|
A |
|
|
B |
|
|
C |
|
|
D |
| 1 |
|
Nr. 1230 |
|
|
1230 |
|
|
|
|
|
Nr. 1200
| |
2 |
|
Firma1 |
|
|
1230,00002 |
|
|
|
|
|
Firma3
| |
3 |
|
03.02.2001 |
|
|
1230,00003 |
|
|
|
|
|
14.10.2001
| |
4 |
|
3.750,00 |
|
|
1230,00004 |
|
|
|
|
|
2.200,00
| |
5 |
|
Nr. 1210 |
|
|
1210 |
|
|
|
|
|
Nr. 1210
| |
6 |
|
Firma2 |
|
|
1210,00006 |
|
|
|
|
|
Firma2
| |
7 |
|
05.09.2001 |
|
|
1210,00007 |
|
|
|
|
|
05.09.2001
| |
8 |
|
250,00 |
|
|
1210,00008 |
|
|
|
|
|
250,00
| |
9 |
|
bezahlt |
|
|
1210,00009 |
|
|
|
|
|
bezahlt
| |
10 |
|
Nr. 1200 |
|
|
1200 |
|
|
|
|
|
Nr. 1230
| |
11 |
|
Firma3 |
|
|
1200,00011 |
|
|
|
|
|
Firma1
| |
12 |
|
14.10.2001 |
|
|
1200,00012 |
|
|
|
|
|
03.02.2001
| |
13 |
|
2.200,00 |
|
|
1200,00013 |
|
|
|
|
|
3.750,00 | | |
Lösung
Das erste Feld jedes Datensatzes muß eindeutig identifizierbar sein. Im Beispiel beginnt er mit "Nr. "
Die unsortierte Liste steht in Spalte A
in B1 steht
{=WENN(A1="";"";WENN(LINKS(A1;3)="Nr.";TEIL(A1;4;10)*1;TEIL(INDEX(A:A;MAX(WENN(LINKS(A$1:A1;3)="Nr.";ZEILE(A$1:A1))));4;10)*1+ZEILE()/100000))}
B1 runterkopieren und dann nach Spalte B (Hilfsspalte - ausblenden) sortieren.