15. Mai 2014

Excel - Datumsliste mit Stopp

Gestern habe ich Ihnen gezeigt, wie man Wochenende variabel markieren kann. Dabei war die Datumsliste mit einem Problem behaftet: wir haben das Datum einfach über 31 Zeilen ausgefüllt. Ein Monat mit 31 Tagen wird dann bis zum Monatsende gefüllt, aber bei Monaten mit weniger Tagen muss man die Liste von Hand verkürzen.

Praktisch ist es, wenn Excel selber ermittelt, wie viele Tage der Monat hat und nicht mehr Tage ausfüllt. Unten sehen Sie einmal das Startdatum 01. März und einmal 01. Februar. Im März wird bis zum 31.03. ausgefüllt, im Februar nur bis 28.02. Dabei gehen in beiden Fällen die Formeln bis zur Zeile 32.


26.04.2014_ 0006

In Zelle A2 wird jeweils das Startdatum geschrieben. Ab A3 berechnet sich das Folgedatum:

=A2+1

Damit würde aber endlos weitergerechnet werden bis in den Folgemonat hinein. Die Stoppstelle lässt sich anhand des Monats festmachen. Wenn das errechnete Datum im nächsten Monat liegt, ist Schluss.
Wenn der Monat, der sich bei der Berechnung “A2+1” ergibt, größer ist als der Monat des Startdatums in A2, dann darf nichts mehr geschrieben werden. Den Monat aus einem gegebenen Datum bestimmt man mit
=MONAT(A2).

Im Klartext:
WENN der MONAT aus A2+1 nicht identisch mit dem MONAT aus A2, dann schreibe nichts, sonst rechne A2+1

Als Formel:
=WENN(MONAT(A2+1)<>MONAT(A$2);””;A2+1)


question_between_figures_800_clr_13608

Warum <> (ungleich) und nicht > (größer)?

Für alle Monate außer dem Dezember würde “größer” passen.
Auf den Februar (2) folgt der März (3), auf den Oktober (10) folgt der November (11).

Aber auf den Dezember (12) folgt der Januar (1).

Für den Dezember würde es also einen Fehler geben, wenn man mehr als die benötigten Zellen mit Formeln gefüllt hat. Ungleich passt aber immer.



Es gibt allerdings noch einen Sonderfall: Wenn die vorhergehende Zelle leer ist, darf auch nichts geschrieben werden. Berücksichtigt man das nicht, erscheint zum Beispiel im Februar für die Zeilen 30 und 32 der Fehlerwert #WERT!. Wir haben also zwei Bedingungen: die Größe der Monatszahl und die Füllung der vorhergehenden Zelle.

many_ways_to_go_400_clr_7107

Komplett sieht die Formel so aus:

WENN(A2="";"";WENN(MONAT(A2+1)<>MONAT(A$2);"";A2+1))

Nach unten kopieren bis zu Zeile 32 und wenn gewünscht noch die bedingte Formatierung von gestern für die Wochenenden einrichten.


Das ist eine mögliche Lösung - ich bin sicher, man kann die Formel auch auf anderen Wegen erreichen.




Beispielsweise funktioniert auch diese Formel:
WENN(A2="";"";WENN(A2+1>MONATSENDE(A$2;0);””;A2+1))

Keine Kommentare:

Kommentar veröffentlichen