Lotus Notes / Domino Sonstiges > Tipps und Tricks

Berechnung der Kalenderwoche

(1/2) > >>

jr:
Hallo,

habe gerade den Eintrag zur Berechnung des Quartals gelesen und dachte mir, dass die Formel zur Berechnung der Kalenderwoche ganz gut dazu passt. Die habe ich vor etwa 7 Jahren bei meinem damaligen Arbeitgeber geschrieben, funktioniert aber heute immer noch...  ;)

Also, wen's interessiert:

REM "Berechnung der Kalenderwoche des Tages >>Datum<<";

Datum           := [tt.mm.jjjj];
Wochenstart     := @Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0);
ErsterJanuar    := @Date(@Year(Wochenstart); 1; 1);
ErsterWochentag := @Weekday(ErsterJanuar);
MinutenProTag   := 60 * 60 * 24;
TagImJahr       := (Wochenstart - ErsterJanuar) / MinutenProTag;
Kalenderwoche   := 1 + @Round(TagImJahr / 7);
KW              := @If((ErsterWochenTag *= 2:3:4) & (Kalenderwoche = 53); 1; Kalenderwoche);

@Text(KW) + " KW"

Viel Spaß,

Joachim

koehlerbv:
Kurz, knackig, übersichtlich - sehr gut !

Danke, Joachim - das wird sicherlich vielen hilfreich sein. Zwei Zeilen könnte man noch "einsparen", aber das würde der Performance kaum nützen, der Lesbarkeit jedoch schaden.

Bernhard

jr:
Kürzer geht immer (in einer Formel...):  ;D ;D ;D

@Text(@If((@Weekday(@Date(@Year(@Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0)); 1; 1)) *= 2:3:4) & ((1 + @Round(((@Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0) - @Date(@Year(@Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0)); 1; 1)) / (60 * 60 * 24)) / 7)) = 53); 1; (1 + @Round(((@Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0) - @Date(@Year(@Adjust(Datum; 0;0; -@Weekday(Datum)+@If(@Weekday(Datum)=1;-5;2); 0;0;0)); 1; 1)) / (60 * 60 * 24)) / 7)))) + ". KW"

koehlerbv:
Genau deswegen sprach ich von der Lesbarkeit  ;D

In einer Spaltenformel in einer seeehr grossen DB kann aber eine abgespeckte Fassung durchaus Sinn machen.

Nochmals danke, Joachim !

Bernhard

TMC:
Danke, Joachim.

1. Frage: Ist die ISO-konform?

@Bernhard, kannst Du bitte noch einen Vergleich machen zu Deiner Formel?
AtNotes BP - Kalenderwoche: Berechnung mit Formeln und LS

Denn wenn diese hier besser ist und Deine Formel ersetzt, sollte man den BP-Artikel aktualisieren.

Danke,
Matthias

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln