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.

[E365] Liste aller festen Feiertage mit einer Formel
#1
Statt 6 einzelner Formeln für die festen Feiertage reicht in Excel 365 eine einzige Formelzelle:
=DATUM(A1;1;1)+{0;120;275;304;358;359}+WENN(MONAT(DATUM(A1;2;29))=2;{0;1;1;1;1;1})

A
12021
2Freitag, 1. Januar 2021
3Samstag, 1. Mai 2021
4Sonntag, 3. Oktober 2021
5Montag, 1. November 2021
6Samstag, 25. Dezember 2021
7Sonntag, 26. Dezember 2021
Formeln der Tabelle
ZelleFormel
A2=DATUM(A1;1;1)+{0;120;275;304;358;359}+WENN(MONAT(DATUM(A1;2;29))=2;{0;1;1;1;1;1})

Folgendes gilt (zunächst) nur für den Beta-Kanal, aber LAMBDA() dürfte bald "für den Rest" freigeschaltet werden.

Ich benötige 3 benannte Lambdas:

1. obige als FFT benannt
=LAMBDA(j;
  LET(SchaltJahr;MONAT(DATUM(j;2;29))=2;
      FTfest;DATUM(j;1;1)+{0;120;275;304;358;359}+WENN(SchaltJahr;{0;1;1;1;1;1});
      FTfest)
  )


2. für die FT, die von Ostern abhängig sind, OsterFT benannt
=LAMBDA(j;
  LET(A;GANZZAHL(j/100);
        B;15+GANZZAHL((3*A+3)/4)-GANZZAHL((8*A+13)/25);
        C;2-GANZZAHL((3*A+3)/4);
        D;REST(j;19);
        E;REST(19*D+B;30);
        F;GANZZAHL((E+GANZZAHL(D/11))/29);
        G;21+E-F;
        H;7-REST(j+GANZZAHL(j/4)+C;7);
        I;7-REST(G-H;7);
        O;DATUM(j;3;G+I);
        OFt;O+{-2;0;1;39;49;50;60};
        OFt)
   )


3. Eine LAMBDA, die Listen verbindet (stammt von LCohen), List.Join benannt:
=LAMBDA(Liste1;Liste2;

  LET(i;ZEILEN(Liste1);
      j;ZEILEN(Liste2);
      k;SEQUENZ(i+j);
      WENN(k<=i;INDEX(Liste1;k);INDEX(Liste2;k-i)))
  )

Und schon kann man mittels einer Formel alle FT eines Jahres erstellen. Wink
A
12021
2Freitag, 1. Januar 2021
3Freitag, 2. April 2021
4Sonntag, 4. April 2021
5Montag, 5. April 2021
6Samstag, 1. Mai 2021
7Donnerstag, 13. Mai 2021
8Sonntag, 23. Mai 2021
9Montag, 24. Mai 2021
10Donnerstag, 3. Juni 2021
11Sonntag, 3. Oktober 2021
12Montag, 1. November 2021
13Samstag, 25. Dezember 2021
14Sonntag, 26. Dezember 2021
Formeln der Tabelle
ZelleFormel
A2=SORTIEREN(List.Join(FFT(A1);OsterFT(A1)))
Namen in Formeln
ZelleNameBezieht sich auf
A2FFT=LAMBDA(j;  LET(SchaltJahr;MONAT(DATUM(j;2;29))=2;   FTfest;DATUM(j;1;1)+{0;120;275;304;358;359}+WENN(SchaltJahr;{0;1;1;1;1;1});   FTfest)  )
A2List.Join=LAMBDA(Liste1;Liste2;  LET(i;ZEILEN(Liste1);   j;ZEILEN(Liste2);   k;SEQUENZ(i+j);   WENN(k<=i;INDEX(Liste1;k);INDEX(Liste2;k-i))   )  )
A2OsterFT=LAMBDA(j; LET(A;GANZZAHL(j/100); B;15+GANZZAHL((3*A+3)/4)-GANZZAHL((8*A+13)/25); C;2-GANZZAHL((3*A+3)/4); D;REST(j;19); E;REST(19*D+B;30); F;GANZZAHL((E+GANZZAHL(D/11))/29); G;21+E-F; H;7-REST(j+GANZZAHL(j/4)+C;7); I;7-REST(G-H;7); O;DATUM(j;3;G+I); OFt;O+{-2;0;1;39;49;50;60}; OFt) )
Namen verstehen

Ich hänge mal meine Testdatei an.


Angehängte Dateien
.xlsx   Feiertagsliste.xlsx (Größe: 10,2 KB / Downloads: 10)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 2 Nutzer sagen Danke an RPP63 für diesen Beitrag:
  • schauan, Case
Antworten Top


Gehe zu:


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