Excel Kalenderwoche
Inhaltsverzeichnis
Excel Kalenderwoche
Du möchtest eine Excel Kalenderwoche bestimmen, um zum Beispiel diverse Projekte wie einen Kalender, o. Ä. umzusetzen?
Dann begrüße ich Dich herzlich in meinem heutigen Beitrag über die Kalenderwoche, bzw. die Kalenderwochen-Funktion in Excel!
Vielleicht helfen Dir später auch noch weitere Beiträge zum Thema Microsoft Excel, wie Diese hier: VBA Makro, Range, IFS VBA.
Kalenderwochen – Häufig gebraucht
Ich denke absolut jeder, der mal mit Daten (plural Datum) gearbeitet hat, ist früher oder später an ein und dasselbe Problem geraten – Kalenderwochen.
Diese Problemstellung ist wie viele Andere auch, nicht plattformabhängig, da z. B. Kalender nun einmal auf verschiedenen Plattformen gebraucht werden.
Was jedoch Plattform– und auch kontextual–abhängig ist, sind deren jeweilige Umsetzungen auf den entsprechenden Plattformen.
Google-Kalender – Ein Beispiel
Neben Microsoft Outlook verwenden natürlich auch andere bekannte Anbieter wie z. B. Google die Darstellung von Kalenderwochen.
Bei Outlook muss man Diese teilweise (also je nach Version und Einstellungen) allerdings erst aktivieren.
Auf dem Handy sehe ich aktuell auch in der Monatsansicht z. B. keine Kalenderwochen (ich nutze aktuell ein iPhone XR mit dem iOS-Kalender).
Excel Kalenderwoche, etwa berechnen?
Im Internet finden sich für die verschiedensten Sprachen und Plattformen Codeschnippsel, wie man die Kalenderwoche eines gegebenen Datum berechnen kann.
Wie man Kalenderwochen errechnet, bzw. bestimmt ist ja mehr oder weniger ein offenes Geheimnis, denn wie fast alles im Leben, gibt es auch hierfür Normen.
Unter anderem gibt es die für uns eher interessante Norm „ISO8601“ und die z. B. in den USA vertretene Norm.
Zum Glück gibt es aber zumindest einige Hilfsmittel, Welche es uns ermöglichen, auf vorhandene Tools zurückzugreifen, statt alles in Eigenarbeit zu berechnen.
Das sieht dann je nach Programmier– und Skriptsprache ggf. anders aus und ist mal mehr und mal weniger kompliziert.
Hier siehst Du beispielsweise ein ISO8601–Beispiel aus dem VB.NET-Umfeld:
Public Shared Function GetIso8601WeekOfYear(time As DateTime) As Integer Dim day As DayOfWeek = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time) If day >= DayOfWeek.Monday AndAlso day <= DayOfWeek.Wednesday Then time = time.AddDays(3) End If Return CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday) End Function
Durch Verwendung von VBA-Code
Wer im Bereich Excel unterwegs ist, wird vermutlich auch irgendwann in Kontakt mit Microsofts Skriptsprache Visual Basic for Applications (kurz VBA) kommen.
Auch dort könnte eventuell die Notwendigkeit für die Erörterung der Kalenderwoche eines bestimmten Datums vorkommen.
In VBA selbst gibt es dazu eine relativ einfache Funktion, Welche sich in der Dokumentation unter dem Namen „WeekNum“ versteckt.
Ein möglicher Beispielcode dazu könnte so aussehen:
Dim weekNumber As Integer = WorksheetFunction.WeekNum(now, vbMonday) ' do something with weekNumber..
Gerade und ungerade Kalenderwochen
Eventuell besteht ja auch die Notwendigkeit zum Beispiel in „geraden Kalenderwochen“ anders zu verfahren, als in Ungeraden.
Womöglich möchte man die Reihen, oder Spalten anders färben, oder die Werte innerhalb der Zellen anders verarbeiten.
Dies könnte man z. B. wie folgt lösen:
Dim weekNumber As Integer = WorksheetFunction.WeekNum(now, vbMonday) Dim isWeekNumberEven As Boolean = weekNumber Mod 2 If isWeekNumberEven Then ' do something on even weeknumber.. Else ' do something on odd weeknumber End If
Excel Kalenderwoche – Einfachste Methode
Ganz nach dem „das Beste kommt zum Schluss„-Motto, gibt es in Excel wohl (zum Glück) eine sehr einfache Variante, um an die Kalenderwoche zu kommen.
Dazu verwendet man die gleichermaßen benannte Methode namens KALENDERWOCHE – einfach, oder!?
Dessen genauen Aufbau mit Parametern und Details, kannst Du Dir in der oben verlinkten Seite der Dokumentation anschauen.
Achte bei dem folgenden Code-Beispiel besonders auf den zweiten Parameter, Dieser gibt eine wichtige Information an.
Der zweite Parameter der Funktion bestimmt dabei, an welchem Wochentag die Woche(n) für die Berechnung starten soll.
Beim ersten Parameter hingegen handelt es sich um den jeweiligen Wert (also das Datum), Welcher verwendet werden soll.
Dabei handelt es sich im unteren Beispiel natürlich um den Wert in der Zelle „A2„.
=KALENDERWOCHE(A2;2)