Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

KW zum Datum, aber anders

Forumthread: KW zum Datum, aber anders

KW zum Datum, aber anders
26.08.2003 15:29:22
Katja
Hallo, ich komm gleich zum Punkt!
Kalenderwoche zum Datum zuordnen ist nicht schwer, aber in meiner Firma geht eine KW nicht von Mo-So sondern von So-Sa (z.B. KW34 17.08.-23.08.). Das hat mit den Schichten zu tun. Wie kann ich jetzt die KW zu einem Datum ermitteln unter der beschriebenen Voraussetzung?
Grüsse aus dem Harz von Katja
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: KW zum Datum, aber anders
26.08.2003 15:38:10
Jörg Gradert
Hallo Katja,
berechne zu einem Datum einfach die Kalenderwoche von (Datum+1)

Gruss Jörg
AW: KW zum Datum, aber anders
26.08.2003 15:49:21
Katja
Dankeschön, aber ich weiß nicht genau, wie Du das meinst. Ich berechne die KW mit ...

(ZelleA2 = Datum)
=KÜRZEN((A2-WOCHENTAG(A2;2)-DATUM(JAHR(A2+4-WOCHENTAG(A2;2));1;-10))/7)

Wo soll ich da Deinen Tipp unterbringen? Sorry, aber mein Hirn ist ganz weich und qualmt schon. :o)

Katja
Anzeige
AW: KW zum Datum, aber anders
26.08.2003 15:56:24
Jörg Gradert
Hallo Katja,

=KÜRZEN((A2+1-WOCHENTAG(A2+1;2)-DATUM(JAHR(A2+1+4-WOCHENTAG(A2+1;2));1;-10))/7)

oder gekürzt

=KÜRZEN((A2+1-WOCHENTAG(A2+1;2)-DATUM(JAHR(A2+5-WOCHENTAG(A2+1;2));1;-10))/7)

Gruss Jörg
AW: KW zum Datum, aber anders
26.08.2003 15:50:58
Lothar
Hallo Katja,

Herbert hat ja ein schönes Beispiel für die DIN-Woche
Ich hab das einfach abgeändert in NICHT-DIN-Woche :)
in ein Standmodul:

Option Explicit


Private Function NOT_DINWeek(dat As Date) As Integer
Dim dValue As Double
dValue = DateSerial(Year(dat + (7 - WeekDay(dat)) Mod 7 - 3), 1, 1) 'von (8 - WeekDay) auf (7 - Weekday) geändert
NOT_DINWeek = (dat - dValue - 3 + (WeekDay(dValue) + 1) Mod 7) \ 7 + 1
End Function


Function NOT_DINDay(iYear As Integer, iDIN As Integer)
Dim iDay As Integer, iWeek As Integer
If iYear = 0 Then
NOT_DINDay = 0
Exit Function
End If
iDay = 1
iWeek = NOT_DINWeek(DateSerial(iYear, 1, 1))
If iWeek <> 1 Then
Do Until NOT_DINWeek(DateSerial(iYear, 1, iDay)) = 1
iDay = iDay + 1
Loop
Else
Do Until NOT_DINWeek(DateSerial(iYear, 1, iDay)) <> 1
iDay = iDay - 1
Loop
iDay = iDay + 1
End If
NOT_DINDay = DateSerial(iYear, 1, iDay) + (iDIN - 1) * 7
End Function


In der Tabelle:

A1 die KW (z.b. 35)
B1 =NOT_Dinday($D$1;A1)
C1 ==+B1+6
D1 das Jahr (2003)
Viel Spass
Lothar
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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