von AhQ » Fr, 30.10.2009 10:36
Hallo,
ich hab mal bei mir hier grad ein bißchen gespielt und kam mit einem
=INDIREKT(ADRESSE(ZEILE();VERGLEICH("<>";B2:L2)+1))
für Zeile 2 zum Ziel. Die OOo-Hilfe meint zum Thema 3. Parameter: "Wenn Typ = 1 oder wenn der dritte Parameter nicht vorhanden ist, wird der Index des letzen Werts, der kleiner als das Suchkriterium oder gleichgroß ist, zurückgegeben." Gleichzeitig gilt aber auch: "Wenn Typ den Wert 1 hat oder dieser optionale Parameter fehlt, wird davon ausgegangen, dass die erste Spalte der Suchmatrix in aufsteigender Reihenfolge sortiert ist." Da wir eine leere Zelle suchen ("<>"), spuckt uns der Vergleich die Spalte vor der ersten gefundenen leeren Zelle aus.
Das Zeile() bringt, daß wir in Adresse() nicht die Zeilenangabe ändern müssen. Adresse() gibt uns die Zelladresse der letzten beschriebenen Zelle und Indirekt() gibt uns dann den Wert, der in der Zelle steht.
Viele Grüße
AhQ
Hallo,
ich hab mal bei mir hier grad ein bißchen gespielt und kam mit einem
=INDIREKT(ADRESSE(ZEILE();VERGLEICH("<>";B2:L2)+1))
für Zeile 2 zum Ziel. Die OOo-Hilfe meint zum Thema 3. Parameter: "Wenn Typ = 1 oder wenn der dritte Parameter nicht vorhanden ist, wird der Index des letzen Werts, der kleiner als das Suchkriterium oder gleichgroß ist, zurückgegeben." Gleichzeitig gilt aber auch: "Wenn Typ den Wert 1 hat oder dieser optionale Parameter fehlt, wird davon ausgegangen, dass die erste Spalte der Suchmatrix in aufsteigender Reihenfolge sortiert ist." Da wir eine leere Zelle suchen ("<>"), spuckt uns der Vergleich die Spalte vor der ersten gefundenen leeren Zelle aus.
Das Zeile() bringt, daß wir in Adresse() nicht die Zeilenangabe ändern müssen. Adresse() gibt uns die Zelladresse der letzten beschriebenen Zelle und Indirekt() gibt uns dann den Wert, der in der Zelle steht.
Viele Grüße
AhQ