Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Berechnung von Kalenderwochen über den Jahreswechsel
#11
@Sigi

Das Ergebnis in die Datei ist falsch: wir benützen das ISO system.
2020 hat 53 Wochen.

Also benütze in deinem Beispiel einfach:

PHP-Code:
=YEAR(DATE(LEFT(D8;4);1;4+7*(mid(D8;6;7)-1))+7*E8)&"/"&WEEKNUM(DATE(LEFT(D8;4);1;4+7*(mid(D8;6;7)-1))+7*E8;21

Du kannst die Funktion reduzieren auf:
Code:
Function KWsAdd_ch(JJ_KW_von As String, KWs_add As Long, Typ As Long) As Variant
     y = DateSerial(Val(JJ_KW_von), 1, 4 + 7 * (Replace(Right(JJ_KW_von, 2), "/", "") - 1) + 7 * KWs_add)
     KWsAdd_ch = Year(y) & "/" & Application.WeekNum(y, 21)
End Function

Ich würde jedoch bevorzügen:

In G8:
PHP-Code:
=F_snb(D8:E8

Im Modul
Code:
Function F_snb(sn)
     y = DateSerial(Val(sn(1, 1)), 1, 4 + 7 * (Replace(Right(sn(1, 1), 2), "/", "") - 1) + 7 * sn(1, 2))
     F_snb = Year(y) & "/" & Application.WeekNum(y, 21)
End Function
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#12
Hallo snb,

das ist mir schon klar, aber es geht hier um eine "schweizerische" Besonderheit mit zwei Schließwochen am Jahresende! Bitte vorherige Beiträge lesen.

Gruß Sigi
Antworten Top
#13
Kein Thema:

Code:
Function F_snb(sn)
    y = DateSerial(Val(sn(1, 1)), 1, 4 + 7 * (Replace(Right(sn(1, 1), 2), "/", "") - 1) + 7 * sn(1, 2))
    w = Application.WeekNum(y, 21)
    If w > 50 Then
      n = Application.WeekNum(DateSerial(Val(sn(1, 1)), 1, -3))
      If (w = 53 And n = 53) Or (w = 52 And n = 52) Then v = -2
      If (w = 52 And n = 53) Or (w = 51 And n = 52) Then v = -1
    End If
     
    F_snb = Year(y) & "/" & w + v
End Function
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste