Ermittlung der letzten nicht leeren Zelle, unabhängig ob Zahl oder Text

Guten Tag!
Ich habe eine Anwesenheitsliste in Form eines Jahreskalenders.
In dem Kalender werden für unterschiedliche An/Abwesenheiten, die Werte 1,2 oder X eingetragen.
Aus dem letzten Tag im entsprechenden Monat, in dem einer der drei Werte eingetragen wurde, soll nun in einem anderen Blatt ein Datum generiert werden.
Prinzipiell habe ich dazu eine, wenn auch nicht unbedingt elegante Lösung gefunden.
Allerding ignoriert meine Formel, je nach angewandten Suchkriterium, beharrlich die Eingabe von, entweder Zahlen oder Buchstaben.
Hier das Beispiel für den Monat Januar:

Mit dem Suchkriterium „“ wird die Eingabe von Zahlen ignoriert:
=WENNFEHLER(VERGLEICH("";Anwesenheit!C9:AG9;-1);"")

Mit dem Suchkriterium 0 werden Buchstaben ignoriert:
=WENNFEHLER(VERGLEICH("";Anwesenheit!C9:AG9;-1);"")

Im monat Februar ändert sich die Suchmatrix entsprechend so:
=WENNFEHLER(VERGLEICH("";Anwesenheit!C13:AG13;-1);"")

Meine Formel gibt als Ergebniss aus, die wievielte Zelle, die letzte nicht leere Zelle ist.
Da die z.B. 18. Zelle in der Zeile immer dem 18. des Monats entspricht, ist das Ergebniss quasi das Datum.
In Kombination mit diesem Eintrag:
=G21&"."&0&""&2&"."&Anwesenheit!B7&""
Wird das Datum generiert.

In G21 steht der Tag der sich aus der oben genannten Formel ergibt.
Das „0“ und „02“ ist entsprechend dem Monat Fabruar Vorgegeben.
In „Anwesenheit!B7“ steht das Jahr.

Wo liegt mein Denkfehler, bzw habt Ihr vielleicht schönere Ansätze für mich?

Danke und einen angenehmen Abend noch TB

hi,

nimm doch

=MIN(WENN(C9:AG9="";SPALTE(C9:AG9)-2))

mit Strg + Shift + Enter eingeben!

von innen nach außen gelesen:
-> wenn Zelle leer, dann Spaltennummer merken (-2, weil C Datumstechnisch 1 sein muss)
-> aus allen gemerkten den kleinsten ausgeben.

grüße
lipi

Vielen Dank für die schnelle Antwort!

Zunächst einmal habe ich die Formel etwas geändert um sie an meine Datei anzupassen.
Mein Kalender befindet sich auf einem extra sheet mit der Bezeichnung „Anwesenheit“.
=MIN(WENN(Anwesenheit!C9:AG9="";SPALTE(Anwesenheit!C9:AG9)-2))

Allerdings funtioniert die Formel so nicht wirklich.
Das Ergebnis lautet bei mir hier immer „1“.

Ausschnitt aus dem Kalender im sheet „Anwesenheit“:

Was mache ich falsch?

Gruß TB

hi,

nix, ich hatte nicht mit leeren Zellen dazwischen gerechnet. Ich ging von 1, 2 oder x aus.

Dann such nicht die letzte leere Zelle, sondern die letzte Zelle mit Eintrag (die nächste ist die Letzte leere)

=MAX(WENN(Anwesenheit!C9:AG9<>"";SPALTE(Anwesenheit!C9:AG9);""))-1

Matrixfunktion, mit Shift-Strg und Enter schließen.

-1 weil: -2 für das korrekte Datum und +1 für die nächste Zelle.
Ende des Monats muss dann eben geprüft werden.

grüße
lipi

Lipi. das war doch sowieso die Vorgabe. Siehe Betreff.

Mit -2 am Ende funktioniert Deine Matrix. Ergebnis für Jan. = 30

Gruß * einmisch *
.

1 Like

hi,

na eben. Gar nicht richtig gelesen.

Da hatte ich gestern schon den falschen Gedanken.
Vermutlich dachte ich Vergleich(0 bzw. „“;…) müsse eine leere Zelle finden. und nicht irgend ne Zahl bzw. irgend nen Text.

grüße
lipi

Oh, sehr schön, vielen Dank!
Die Formal hat zwar immer ein Zahl höher ausgespuckt als erwünscht, aber das lässt sich mit einem kleinen -1 ja schnell korregieren…
Vielen Dak für die schnelle und kompetente Hilfe! :thumbsup: