Freitag, der Dreizehnte…

Beliebige Wochentag / Tag – Kombination
in einem Zeitraum zählen

In einem beliebi­gen festzule­gen­den Zeitraum sollen bes­timmte Kom­bi­na­tio­nen von Wochen­tag und Tag (des Monats) gezählt wer­den. Die wohl am meis­ten ver­wen­dete Kom­bi­na­tion ist wohl Fre­itag, der Dreizehnte, der ange­bliche Unglück­stag. Bei der Gele­gen­heit: Diese Zuord­nung stimmt nicht; mein Ältester ist an einem Fre­itag, 13. wie alt gewor­den? Richtig. 13. 😛 Aber selb­stre­dend kann auch jede andere Kom­bi­na­tion berech­net wer­den.

Zwei Möglichkeit­en ohne VBA will ich Ihnen hier vorstellen. Als Vor­bere­itung schreiben Sie (beispiel­sweise) in A1 das Start­da­tum und füllen die Spalte bis zum End­da­tum aus. Wie Sie das machen, über­lasse ich Ihnen. Ich mache das so, wie hier im Blog beschrieben.

▲ nach oben …

Die drittbeste Lösung

Vor­ab ange­merkt: Die Wer­tung, welche Lösung sich als bess­er darstellt, ist natür­lich sehr sub­jek­tiv. Denn wenn Sie lieber einen ver­ständlichen Weg vorziehen, dann kann dieser hier vorgestellte Weg für Sie die beste sein.

In Spalte A ste­hen die gesam­melten kalen­darischen Dat­en, begin­nend in A1. In B1 tra­gen Sie nun diese Formel ein: =N(UND(WOCHENTAG(A1)=6; TAG(A1)=13))

Das Ergeb­nis ist 0 oder 1, je nach­dem ob es sich um die gesuchte Kom­bi­na­tion han­delt oder nicht.  Per Dop­pelk­lick auf das Aus­fül­lkästchen wird die Formel bis zur let­zten Zeile der Dat­en in der daneben ste­hen­den Spalte hin­unter kopiert. Nun brauchen Sie nur die Summe zu berech­nen. Angenom­men, das Start­da­tum ist der 13. Sep­tem­ber 1978 und heute (09. Sep­tem­ber 2015) ist das End­da­tum, dann wäre das Ergeb­nis 65. Hier ist es per Fil­terung möglich, nur die „betrof­fe­nen” Dat­en anzeigen zu lassen. Das ist ein Vorteil gegenüber dem fol­gen­den Ansatz.

▲ nach oben …

Die zweitbeste Lösung

Es bleibt dabei, dass Spalte A mit den Dat­en aus­ge­füllt ist. Und es bleibt auch beim Anfangs- und Ende­da­tum aus dem Beispiel hierüber. Nur die Spalte B bleibt leer. Nun schreiben Sie in eine beliebige Zelle diese Formel: 
=SUMMENPRODUKT((TAG(A1:A13515)=13)*(WOCHENTAG(A1:A13515)=6))
wobei Voraus­set­zung ist, dass in A13515 das Datum 09.09.2015 ste­ht. Hier ist bei Bedarf eine Anpas­sung erforder­lich. Und das Ergeb­nis ste­ht sofort sicht­bar, 65 Tage.

▲ nach oben …

Die (wohl) beste Lösung

VBA ist das Schlüs­sel­wort. Ein Klick auf eine Schalt­fläche, Eingabe von Start und Ende und ruck zuck ste­ht das Ergeb­nis in ein­er Textbox, nach­dem Sie die Berech­nung angestoßen haben. Das Makro erledigt die Arbeit für Sie. Und auf Wun­sch wird auch das Ergeb­nis, alle 65 Dat­en in Spalte A geschrieben. 

Die Ein­schränkung „(wohl) beste Lösung” beruht auf zwei Fak­ten: Erstens ver­ste­ht nicht jed­er VBA bzw. darf es in manchen Betrieben nicht einge­set­zt wer­den. Und zweit­ens ließe sich der Code dur­chaus optimieren.aber hier ist es mir wichtiger, dass auch Ein­steiger die Chance haben, das Pro­gramm (halb­wegs) nachvol­lziehen zu kön­nen. Die Unter­schiede wären mess- aber kaum merk­bar. In dieser Datei ist alles vor­bere­it­et, Sie brauchen nur noch zu testen.  😎 

[NachOben­Let­zte Verweis=„ML: Fre­itag, 13.”]
Dieser Beitrag wurde unter Datum und Zeit, Mit VBA/Makro, Ohne Makro/VBA abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.