Gruppe: Tabellennavigation - BEITRAG: Letzte Zahl in einer Zeile oder Spalte *
Aufgabe
Wie kann man die letzte Zahl bzw. die Postion der letzten Zahl in einer Zeile oder Spalte ermitteln ?
 |
 |
A |
 |
 |
B |
 |
 |
C |
 |
 |
D |
 |
 |
E |
 |
 |
F |
 | 1 |
 |
36 |
 |
 |
92 |
 |
 |
78 |
 |
 |
|
 |
 |
78 |
 |
 |
44
|  |
2 |
 |
18 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
3 |
 |
20 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
4 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
5 |
 |
11 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
6 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
7 |
 |
10 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
8 |
 |
46 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  |
9 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|
 |
 |
|  | |
Lösung
Spalte A bzw. Zeile 1
Spalte der letzten Zahl einer Zeile:
{=MAX(ISTZAHL(A1:IO1)*SPALTE(A1:IQ1))}
ohne Array:
=VERWEIS(2;1/(A1:IQ1);SPALTE(A1:IQ1))
entsprechender Wert:
{=INDEX(1:1;MAX(ISTZAHL(A1:IQ1)*SPALTE(A1:IQ1)))}
=VERWEIS(2;1/(1:1);1:1)
Zeile der letzten Zahl einer Spalte:
{=MAX(ISTZAHL(A1:A999)*ZEILE(A1:A999))}
=VERWEIS(2;1/(A1:A999);ZEILE(X1:X999))
entsprechender Wert:
{=INDEX(A:A;MAX(ISTZAHL(A1:A999)*ZEILE(A1:A999)))}
=VERWEIS(2;1/(A1:A999);A:A)
=VERWEIS(9^99;A:A) - Beate Schmitz und Aladin Akyurek
ohne Array - ausgetüftelt von Holger Voß:
=VERGLEICH(0;1:1;-1)
sowie
=VERGLEICH(0;A:A;-1)
Und für den Zellinhalt dann natürlich den INDEX drumrumgerankt.
Kommen auch Zahlen kleiner/gleich Null vor, dann statt 0: -9^9
Erläuterung
Statt ISTZAHL(A1:A999) funktioniert auch (A1:A999<"")
Da gab's aber laufend Verständnisfragen.
Die VERGLEICH-Formel ist abartig, da sie ja eigentlich nicht funktionieren darf (siehe auch Nr. 52 für den letzten Text)!
Für den Vergleichstyp -1 In der Funktion VERGLEICH schreibt Microsoft:
Ist Vergleichstyp gleich -1, liefert VERGLEICH den kleinsten Wert, der größer gleich Suchkriterium ist. Die Elemente der Suchmatrix müssen in absteigender Reihenfolge angeordnet sein: WAHR, FALSCH, Z-A,...2, 1, 0, -1, -2,... usw.
Die Anordnung ist hier wurscht !?
Noch seltsamer: 0 benennt die letzte Zelle,deren Inhalt größer/gleich 0 ist; -100 die letzte Zelle, deren Inhalt größer/gleich -100 ist.
Da sollte man doch annehmen, daß bei Eingabe von 10 die letzte Zelle benannt wird, die größer/gleich 10 ist.
PUSTEKUCHEN: es erfolgt #NV ???
20.08.2003: AHA! #NV erfolgt immer dann, wenn im Bereich eine kleinere Zahl vorkommt.
Logisch ist das ja wohl nicht.
Also: das werden wir beobachten; - und wenn die Funktion Mist baut, landet sie auf jeden Fall in der Rubrik X-Akte (bei Tips); - da gehört sie jetzt aber sowieso schon hin.