Lotus Notes / Domino Sonstiges > Tipps und Tricks
Berechnung der Kalenderwoche
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