Hallo,
folgender Fall (bzw. ein identisch strukturierter mit Sinn):
AB BA X01 M X11
CD DC X02 F X04
EF FE X03 M X06
GH HG X04 F X12
IJ JI X05 M X10
KL LK X06 F X07
MN NM X07 M X13
OP PO X08 F X08
QR RQ X09 M X11
ST TS X10 F X01
UV VU X11 M X05
WX XW X12 F X02
YZ ZY X13 M X09
Die letzte Spalte wurde von mir aus einer anderen Tabelle hinzukopiert. Was ich nun möchte, ist, dass der Rest der Tabelle sortiert wird, und zwar nach dieser Spalte X (hier: 5) als Sortierkriterium, wobei in Spalte Y (hier: 3) die entsprechenden Daten in demselben Format stehen. ›OpenOffice Calc‹ (oder ›Microsoft Excel‹) sollte also, menschlich ausgedrückt, den Wert in Spalte X lesen, in Spalte Y nach demselben Wert suchen und die ersten vier Spalten der gefundenen Zeile irgendwo ablegen, bis er alle Zeilen durchhat. Das Programm wird immer fündig werden, da in den Spalten 3 und 5 dieselben Werte stehen, nur nicht in derselben Reihenfolge.
Kann mir jemand verraten, wie sich das automatisieren lässt? Vielen Dank im Voraus!
Gruß
Christopher
Hallo Christopher,
die sortierte Liste kannst du per Formel erzeugen. Am einfachsten rechts neben deiner Spalte mit der Sortierreihenfolge, muss aber nicht sein. Du kannst die Formeln auch an beliebiger Position auf einem anderen Tabellenblatt positionieren. Du muss die Formeln nur so nach unten kopieren, das alle Zeilen erfasst werden.
Diese Formeln kannst du permanent in der Tabelle lassen oder auch bei Bedarf per Makro einfügen. Über die weitere Automatisierung hast du dich ja noch ausgeschwiegen.
Tabellenblattname: Tabelle1
A B C D E F G H I
1 Spa1 Spa2 Spa3 Spa4 SpaSort Spa1 Spa2 Spa3 Spa4
2 AB BA X01 M X11 UV VU X11 M
3 CD DC X02 F X04 GH HG X04 F
4 EF FE X03 M X06 KL LK X06 F
5 GH HG X04 F X12 WX XW X12 F
6 IJ JI X05 M X10 ST TS X10 F
7 KL LK X06 F X07 MN NM X07 M
8 MN NM X07 M X13 YZ ZY X13 M
9 OP PO X08 F X08 OP PO X08 F
10 QR RQ X09 M X11 UV VU X11 M
11 ST TS X10 F X01 AB BA X01 M
12 UV VU X11 M X05 IJ JI X05 M
13 WX XW X12 F X02 CD DC X02 F
14 YZ ZY X13 M X09 QR RQ X09 M
Benutzte Formeln:
F2: =INDEX($A:blush:D;VERGLEICH($E2;$C:blush:C;0);SPALTE(A2))
G2: =INDEX($A:blush:D;VERGLEICH($E2;$C:blush:C;0);SPALTE(B2))
H2: =INDEX($A:blush:D;VERGLEICH($E2;$C:blush:C;0);SPALTE(C2))
I2: =INDEX($A:blush:D;VERGLEICH($E2;$C:blush:C;0);SPALTE(D2))
Die Formel in F2 kannst du nach rechts und unten kopieren.
Hier noch Beispieldateien, die sich die spezielle Tabellen(2007)- bzw. Listen(2003)-Funktion in Excel zu Nutze machen.
Excel 97-2003: http://rapidshare.com/files/277858634/ListeWunschsor…
Excel 2007: http://rapidshare.com/files/277858912/ListeWunschsor…
Gruß
Franz
Hallo Franz,
ich wusste doch, dass Excel alles kann – außer Hemdenbügeln und so :wink: Mit einigen wenigen Modifikationen, was die relevanten Felder anging, hat deine Formel funktioniert, sogar in ›OpenOffice Calc‹. Herzlichen Dank!
Gruß
Christopher