Excel Kalenderwoche

Excel Kalenderwoche
Excel Kalenderwoche

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 Plattformund auch kontextualabhä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).

Kalenderwochen im Google Kalender
Kalenderwochen im Google 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 ISO8601Beispiel 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 Kalenderwochenanders 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)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert