ich möchte aus einem Zellinhalt (z.B. "22.2007"), welches die Kalenderwoche und das Jahr beinhaltet, den jeweiligen Monat (in diesem Fall: "Mai") extraieren.
Bitte um Eure Hilfe. Vielen Dank
MikeS
Sub test()
'zur verwendung in einem Makro
MsgBox Format(Datum_Aus_KW_und_Wochentag(2004, 14, 1), "ddd dd.mm.yyyy")
End Sub
'
' ein Datum aus Kalenderwoche, Jahreszahl und Wochentag ermitteln
'
Function DatumAusKW(KW As Long, Jahr As Long, WoTag As Long) As Date
Dim Datum As Date
If Jahr > 1900 And Jahr < 2100 And KW > 0 And KW < 54 And WoTag > 0 And WoTag < 8 Then
If Weekday(DateSerial(Jahr, 1, 1), vbMonday) <= 4 Then
Datum = DateSerial(Jahr, 1, 1) - Weekday(DateSerial(Jahr, 1, 1), vbMonday) + 1
Else
Datum = DateSerial(Jahr, 1, 1) - Weekday(DateSerial(Jahr, 1, 1), vbMonday) + 8
End If
Datum = Datum + (7 * (KW - 1)) + (WoTag - 1)
If KW = 53 And _
Not (Weekday(DateSerial(Jahr, 1, 1), vbMonday) = 4 Or _
Weekday(DateSerial(Jahr, 12, 31), vbMonday) = 4) Then
Datum = "31.12.9999"
End If
Else
Datum = "31.12.9999"
End If
DatumAusKW = Datum
End Function
Private Function KWMonat(ByVal intKW%, ByVal intJahr%) As String
Dim i%, Datum As Date
Datum = DateSerial(intJahr, 1, 1)
For i = 0 To 365
If KWoche(Datum + i) = intKW Then
'KWMonat = Month(Datum + i)
Select Case Month(Datum + i)
Case 1: KWMonat = "Januar"
Case 2: KWMonat = "Februar"
Case 3: KWMonat = "März"
Case 4: KWMonat = "April"
Case 5: KWMonat = "Mai"
Case 6: KWMonat = "Juni"
Case 7: KWMonat = "Juli"
Case 8: KWMonat = "August"
Case 9: KWMonat = "September"
Case 10: KWMonat = "Oktober"
Case 11: KWMonat = "November"
Case 12: KWMonat = "Dezember"
End Select
Exit For
End If
Next i
End Function
Private Function KWoche(Datum As Date)
Dim t As Long
t = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1)
KWoche = ((Datum - t - 3 + (Weekday(t) + 1) Mod 7)) \ 7 + 1
End Function
Trotzdem vielen Dank für Deinen Einsatz :-)
Ciao Mike
Um den Monat aus einer Kalenderwoche in Excel zu extrahieren, kannst du folgende Schritte befolgen:
Kalenderwoche und Jahr in einer Zelle: Stelle sicher, dass du die Kalenderwoche (z. B. "22") und das Jahr (z. B. "2007") in einer Zelle hast, im Format "KW.JJJJ" (z. B. "22.2007").
Montag der Woche bestimmen: Verwende die folgende Formel, um das Datum des Montags der angegebenen Woche zu ermitteln:
=DATUM(RECHTS(A1;4);1;7*LINKS(A1;2)-3)-WOCHENTAG(DATUM(RECHTS(A1;4);1;1);3)
Diese Formel gibt das Datum des Montags der KW zurück.
Monat extrahieren: Um den Monat als Text auszugeben, kannst du die Zelle, in der das Datum steht, mit dem Format "MMMM" formatieren.
Jetzt kannst du den Monat aus Kalenderwoche und Jahr in Excel erfolgreich extrahieren!
Fehler: Das Ergebnis zeigt ein falsches Datum an.
Fehler: Der Monat wird nicht korrekt angezeigt.
Falls du keine VBA-Programmierung verwenden möchtest, gibt es auch einfache Formeln:
Verwendung einer benutzerdefinierten Funktion: Du kannst eine benutzerdefinierte Funktion in VBA erstellen, um den Monat aus der Kalenderwoche zu extrahieren. Hier ist ein Beispiel:
Private Function KWMonat(ByVal intKW%, ByVal intJahr%) As String
'... (Funktion wie im Forum beschrieben)
End Function
Excel-Funktionen: Nutze die Funktion MONAT()
zusammen mit DATUM()
und WOCHENTAG()
, um den Monat aus der KW zu ermitteln.
Beispiel mit VBA: Wenn du die oben erwähnte KWMonat
-Funktion verwendest, kannst du einfach =KWMonat(22, 2007)
eingeben, um den Monat "Mai" zu erhalten.
Beispiel mit Excel-Formel: Wenn die Zelle A1 "22.2007" enthält, kannst du =DATUM(RECHTS(A1;4);1;7*LINKS(A1;2)-3)-WOCHENTAG(DATUM(RECHTS(A1;4);1;1);3)
verwenden, um das Datum des Montags der KW zu erhalten.
VBA-Optimierung: Wenn du häufig mit Kalenderwochen arbeitest, kann es hilfreich sein, eine umfassende VBA-Lösung zu erstellen, die nicht nur den Monat, sondern auch andere Werte basierend auf der KW zurückgibt.
Datumsformatierung: Achte darauf, dass du die Zellen richtig formatierst, um Missverständnisse zu vermeiden. Denke daran, dass Excel standardmäßig das Datum im US-Format anzeigt, wenn die Spracheinstellungen nicht korrekt sind.
1. Frage
Wie kann ich den Monat aus einer Kalenderwoche in Excel ermitteln, ohne VBA zu verwenden?
Antwort: Du kannst die Excel-Formel verwenden, die das Datum des Montags der KW zurückgibt und die Zelle dann mit dem Format "MMMM" formatieren.
2. Frage
Was passiert, wenn die Kalenderwoche über zwei Monate reicht?
Antwort: In solchen Fällen wird der Monat basierend auf dem Montag der KW zurückgegeben, was den Hauptmonat dieser Woche darstellt.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen