Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Monat aus Kalenderwoche extraieren

Monat aus Kalenderwoche extraieren
21.05.2007 17:13:00
MikeS
Hallo,
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

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monat aus Kalenderwoche extrahieren
21.05.2007 18:01:37
Peter
Hallo Mike
was machst du, wenn die KW monatsübergreifend ist ?
Hier ist eine Lösung, bei der du z. B. immer den Montag der KW ermiiteln kannst.
Daraus kannst du (bei VBA gut) ja leicht den Monat extraHieren.


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 LongAs 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 


Gruß Peter

Anzeige
AW: Monat aus Kalenderwoche extrahieren
21.05.2007 18:20:00
MikeS
Hallo Peter,
hab folgende funktionierende Lösung im Netz gefunden:

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

Anzeige
AW: Monat aus Kalenderwoche extraieren
21.05.2007 22:21:08
lou38
Hallo Mike
Hier eine Variante ohne VBS:
=DATUM(RECHTS(A1;4);1;7*LINKS(A1;2)-3)-WOCHENTAG(DATUM(RECHTS(A1;4);;);3).
Das Resultat ist das Datum des Montags der eingegebenen Woche. Wenn du die Zelle mit MMMM formatierst, erhältst du den Monat.
Gruss
Louis
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Monat aus Kalenderwoche extrahieren in Excel


Schritt-für-Schritt-Anleitung

Um den Monat aus einer Kalenderwoche in Excel zu extrahieren, kannst du folgende Schritte befolgen:

  1. 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").

  2. 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.

  3. 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!


Häufige Fehler und Lösungen

  • Fehler: Das Ergebnis zeigt ein falsches Datum an.

    • Lösung: Überprüfe, ob die Eingaben für die Kalenderwoche und das Jahr korrekt sind. Die Kalenderwoche sollte zwischen 1 und 53 liegen und das Jahr in vierstelliger Form angegeben werden.
  • Fehler: Der Monat wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass die Zelle, die das Datum enthält, richtig formatiert ist (z. B. als "MMMM").

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, gibt es auch einfache Formeln:

  1. 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
  2. Excel-Funktionen: Nutze die Funktion MONAT() zusammen mit DATUM() und WOCHENTAG(), um den Monat aus der KW zu ermitteln.


Praktische Beispiele

  1. 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.

  2. 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.


Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige