Microsoft Excel

Herbers Excel/VBA-Archiv

Kalenderwoche mit Versatz | Herbers Excel-Forum


Betrifft: Kalenderwoche mit Versatz von: René
Geschrieben am: 07.01.2010 11:55:02

Hallo liebe Excelprofis,
ich benötige eine Formel die mir die zu einem Datum zugehörige Kalenderwoche ausrechnet.
Allerdings soll die Woche immer schon ausgehend vom Montag schon in der vorgehenden Woche am Freitag losgehen und bis zum nächsten Donnerstag

Beispiel:

Kalenderwoche 2 wäre vom 08.01.2010 bis zum 14.01.2010
Kalenderwoche 3 wäre vom 15.01.2010 bis zum 21.01.2010 usw.


https://www.herber.de/bbs/user/67033.xls

Vielleicht kann mir jemand einen Tipp geben

Mit freundlichen Grüßen René

  

Betrifft: AW: Kalenderwoche mit Versatz von: Josef Ehrensberger
Geschrieben am: 07.01.2010 12:07:00

Hallo rené,

angepasste Formel von: http://www.excelformeln.de/formeln.html?welcher=7

Tabelle4

 AB
1DatumWoche
2Fr 08.01.20102
3Sa 09.01.20102
4So 10.01.20102
5Mo 11.01.20102
6Di 12.01.20102
7Mi 13.01.20102
8Do 14.01.20102
9Fr 15.01.20103
10Sa 16.01.20103
11So 17.01.20103
12Mo 18.01.20103
13Di 19.01.20103
14Mi 20.01.20103
15Do 21.01.20103
16Fr 22.01.20104
17Sa 23.01.20104
18So 24.01.20104
19Mo 25.01.20104
20Di 26.01.20104
21Mi 27.01.20104
22Do 28.01.20104
23Fr 29.01.20105

Formeln der Tabelle
ZelleFormel
B2=KÜRZEN((A2-DATUM(JAHR(A2+3-REST(A2-2;7)); 1;REST(A2-6;7)-9))/7)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4




Gruß Sepp



  

Betrifft: AW: Kalenderwoche mit Versatz von: René
Geschrieben am: 07.01.2010 12:20:43

Hallo Sepp,

danke für die schnelle Hilfe. Klappt auszgezeichnet. Bin sehr froh.

MfG René


  

Betrifft: AW: Kalenderwoche mit Versatz von: Stefan
Geschrieben am: 07.01.2010 12:31:13

Es ginge auch per Makro:

Function deutsche_Kalenderwoche(dat As Date) As Integer
'
'Wandelt einen Datumswert in die Kalenderwoche nach DIN 1355 um.
'
Dim a As Integer
a = Int((dat - DateSerial(Year(dat), 1, 1) + ((Weekday(DateSerial(Year(dat), 1, 1)) + 1) Mod 7)  _
- 3) / 7) + 1
If a = 0 Then
    a = deutsche_Kalenderwoche(DateSerial(Year(dat) - 1, 12, 31))
    ElseIf a = 53 And (Weekday(DateSerial(Year(dat), 12, 31)) - 1) Mod 7 <= 3 Then
        a = 1
End If
deutsche_Kalenderwoche = a
End Function


Wenn man das als add-inn einfügt, dann steht dies als neue Funktion zur Verfügung.

Habe das aus irgend einem VBA-Buch entnommen und in meinem excel umgesetzt. Funktioniert tadellos.

Gruß

Stefan


  

Betrifft: Aufgabe nicht gelesen? o.T. von: Josef Ehrensberger
Geschrieben am: 07.01.2010 12:34:42

Gruß Sepp



  

Betrifft: AW: Aufgabe nicht gelesen? o.T. von: Stefan
Geschrieben am: 07.01.2010 12:43:46

Doch, aber wenn man die richtige Kalenderwoche oft braucht, ist es mit dem Makro auf Dauer einfacher. Darum wollte ich diese Möglichkeit zeigen.
Letztlich ist "=Deutsche_Kalenderwoche(A1)" ja auch wieder eine Formel.


  

Betrifft: AW: Aufgabe nicht gelesen? o.T. von: Josef Ehrensberger
Geschrieben am: 07.01.2010 12:48:27

Hallo Stefan,

schon klar, aber für eine so leichte Berechnung braucht's doch keine UDF.


Gruß Sepp



Beiträge aus den Excel-Beispielen zum Thema "Kalenderwoche mit Versatz"