Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige