Wie kann die Kalenderwoche eines Datums nach DIN berechnet werden?
Formeln
Am einfachsten gehte s sicher so:
=ISOKALENDERWOCHE(A2)
=KALENDERWOCHE(A2;2)
�brigens können (ab Excel 365) mit nur einer einzigen Formel alle Tage eines Jahres mit Kalenderwochen und Wochentagen (und was auch immer) angezeigt werden:
=TEXT(SEQUENZ(TAGE("31.12."&F1;"1.1."&F1)+1;1;"1.1."&F1;1);"TT.MM.JJJJ")&" (KW "&TEXT(ISOKALENDERWOCHE(SEQUENZ(TAGE("31.12."&F1;"1.1."&F1)+1;1;"1.1."&F1;1));"00")&" "&TEXT(SEQUENZ(TAGE("31.12."&F1;"1.1."&F1)+1;1;"1.1."&F1;1);"TTT")&")"
UDF - benutzerdefinierte Funktionen
Früher, als es die schönen Excelfunktionen noch nicht gab, musste man sich damit behelfen:
Diese Funktion stammt von Christoph Kremer:
Function DINKwoche(Datum) Dim tmp tmp = DateSerial(Year(Datum + (8 - WeekDay(Datum)) Mod 7 - 3), 1, 1) DINKwoche = ((Datum - tmp - 3 + (WeekDay(tmp) + 1) Mod 7)) \ 7 + 1 End Function
Zweite Möglichkeit:
Function kw(Datum As Date) As Single kw = Format(Datum, "ww", , vbFirstFourDays) - IIf(Weekday(Datum) = 1, 1, 0) End Function
Einige alte Beispiele auf diesen Seiten basieren noch auf diesen Berechnungen.