Kalenderwoche eines Datums berechnen

Termine und Fristen sind oft nicht mit einem Datum versehen, sondern mit der betreffenden Kalenderwoche als Zeitangabe. Sie möchten daher in Excel aus einem vorgegebenen Datum die entsprechende Kalenderwoche berechnen.

Leider enthält Excel keine eigene Funktion für diese Aufgabe. Sie können sich jedoch mit Hilfe von VBA schnell eine Funktion dafür definieren.

Führen Sie den Befehl »Extras | Makro | Makros« aus und geben Sie zum Beispiel »KW« als Makronamen ein. Nun klicken Sie auf die Schaltfläche »Erstellen« und geben anschließend im VBA-Editor folgenden Programmcode ein:



Function KW(einDatum As Date) As Integer


KW = DatePart("ww" , einDatum, vbMonday, vbFirstFourDays)

End Function



Mit dem Befehl »Datei | Schließen und zurück zu Microsoft Excel« beenden Sie den VBA-Editor. Jetzt können Sie die Funktion »KW« in der Arbeitsmappe verwenden. Hauptbestandteil der Berechnung ist die VBA-Funktion »DatePart«. Der Parameter »vbMonday« fixiert den Montag als ersten Tag der Woche. Der folgende Parameter »vbFirstFourDays« legt fest, dass die erste Kalenderwoche eines Jahres diejenige ist, die mindestens vier Tage enthält.

Sie können diese Berechnung auch ohne VBA-Script lösen, wenn Sie stattdessen die nachstehende Formel in Ihrem Arbeitsblatt verwenden:



=GANZZAHL(((C4-DATUM(JAHR(C4) ;1;1) +
WOCHENTAG(DATUM(JAHR (C4);1;1);3))/7) + WENN
(WOCHENTAG(DATUM(JAHR(C4);1;1);3)<4;1;0)



Im Beispiel steht das gegebene Datum in Zelle »C4«. Der erste Teil der Formel ermittelt die Tage seit Jahresanfang. Der zweite Teil korrigiert diesen Wert so, dass er für jeden Montag durch sieben teilbar ist und kein Rest bleibt. Die Division durch sieben liefert nun die Kalenderwoche. Der letzte Summand sorgt schließlich dafür, dass die erste Kalenderwoche mindestens vier Tage enthält.

Eine angebrochene Woche am Jahresanfang ist nach dieser Formel die Kalenderwoche 0. Die VBA-Methode liefert hingegen die letzte Kalenderwoche des Vorjahres.