Clever-Excel-Forum

Normale Version: Folgetag ohne Wochenenden und Feiertage
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich brauche Ihre Hilfe, weil ich nicht weitergekommen bin Sad
Wie füge ich den Folgetag (Heute()+1) hinzu und schließe Wochenenden und Feiertage aus.
Mit Wochenenden ist mir gelungen die Funktion zu finden ( siehe das Beispiel im Anhang) aber mit Feiertagen noch nicht.

Danke im Voraus.
Alberto
=ARBEITSTAG()
=ARBEITSTAG.INTL()
Danke für die schnelle Antwort.
Aber wie würde ich diese Funktion ensetzen, dass sie für jedes Jahr gültig ist ohne die Feiertage in einer Spalte festzulegen.
Ein Feiertagsdatum ist einmalig. Hat Dein Land 12 Feiertage, musst Du für 10 Jahre also 120 Datümer hinterlegen.

Hier etwas für XL365 oder XLWeb.
ich habe unter dem Link diese Funktion =HOLIDAYS(SEQUENZ(;10;2022);"BaWü") gefunden.
Aber wie kann ich meine Funktion =Heute()+WENN(WOCHENTAG(Heute();2)=5;3;WENN(WOCHENTAG(Heute();2)=6;2;1)) mit der o.g. Funktion verknüpfen, damit ich Wochenenden und Feiertage ausschließen kann.

Gruß
Alberto
Du hättest erst einmal die Dokumentation zu den beiden ARBEITSTAG-Funktionen lesen müssen. Die sind dafür da.

Deren letztes Argument würde dann die Funktion HOLIDAYS sein.

In XL365 oder XLWeb. Vorher nicht.
Guten Morgen,

ich habe die Dokumentation zu den beiden ARBEITSTAG-Funktionen gelesen aber ich bin nicht weitergekommen.
Ich benutze  EXCEL 2016 und die Funktion HOLIDAYS habe ich nicht.
Ich bin kein Excel Expert deswegen habe ich die Frage hier gestellt.

Gruß
Alberto
Und ich habe Dir geantwortet und verlinkt: 

XL365 (hast Du nicht) oder 
XLWeb (hat jeder, kostet nichts, kann auch meine Funktion HOLIDAYS, die Du gefunden hast).

A1: =HOLIDAYS(SEQUENZ(;2;2022);"BaWü")
B1: =ARBEITSTAG(HEUTE();260;A1#)

Statt dem benannten HOLIDAYS kannst Du auch direkt in A1 kopieren (kleine Schrift hier beabsichtigt; die Formel steht im Link): 

=LAMBDA(Jahr;Land;LET(
ArC;LAMBDA(a;b;LET( x;ZEILEN(a);y;SPALTEN(a);z;ZEILEN(b); k;SEQUENZ(x);m;SEQUENZ(x+z);n;SEQUENZ(;y); WENN(m<=x;INDEX(a;k;n);INDEX(b;m-x;n))));
EASTER;LAMBDA(Jahr;LET(
A;GANZZAHL(Jahr/100);
B;REST(19*REST(Jahr;19)+A-GANZZAHL(A/4)-GANZZAHL((A-GANZZAHL((A+8)/25)+1)/3)+15;30);
C;REST(32+2*REST(A;4)+2*GANZZAHL(REST(Jahr;100)/4)-B-REST(REST(Jahr;100);4);7);
D;B+C-7*GANZZAHL((REST(Jahr;19)+11*B+22*C)/451)+22;
E;DATUM(Jahr;WENN(D>31;4;3);WENN(D-31<1;D;D-31));E));
F;WAHL(SEQUENZ(7);-2;0;1;39;49;50;60)+EASTER(Jahr);
G;--(WAHL(SEQUENZ(11);"1.1";"6.1";"8.3";"1.5";"15.8";"20.9";"3.10";"31.10";"1.11";"25.12";"26.12")&"."&Jahr);
H;("25.12."&Jahr)-WOCHENTAG("25.12."&Jahr;2)-32;
I;{"1111111111111111";"1100000000000100";"0010000000000000";"1111111111111111";"1111111111111111";"1111111111111111";"1111111111111111";"1111111111111111";"1111111111111111";"1111111111111111";"1100001001110000";"0100000000010000";"0000000000000001";"1111111111111111";"0001110110001111";"1100000001110000";"0000000000001000";"1111111111111111";"1111111111111111"};
J;--TEIL(I;(3+SUCHEN(Land;"BaWüBayeBerlBranBremHambHessMeVoNiedNoWeRhPfSaarSachSaAnScHoThür"))/4;1);
K;FILTER(MTRANS(ArC(MTRANS(J);MTRANS(SORTIEREN(ArC(ArC(F;G);H)))));J);
L;INDEX(K;SEQUENZ(ZEILEN(K));SEQUENZ(;SPALTEN(K)-1;2));
M;EINDEUTIG(KKLEINSTE(L;SEQUENZ(ZEILEN(L)*SPALTEN(L))));
M))(SEQUENZ(;2;2022);"BaWü")


Wenn HEUTE() also der 2.10.22 ist, ist der 260. Folgearbeitstag in BaWü der 16.10.2023.

HOLIDAYS lässt sich mittels VSTAPELN etwas verkürzen. Außerdem hat auch RPP63 irgendwo eine solche Funktion etwas kürzer gepostet.
(02.10.2022, 07:18)LCohen schrieb: [ -> ]HOLIDAYS lässt sich mittels VSTAPELN etwas verkürzen. Außerdem hat auch RPP63 irgendwo eine solche Funktion etwas kürzer gepostet.

Yepp!
Auf einem separaten Tabellenblatt ziehe ich mit einer einzigen Formelzelle A1 eine 2D-Matrix aller Feiertage von 25 Jahren (beginnend im aktuellen Jahr) auf.
(alternativ kann man diese Formel auch direkt ins Feiertags-Argument von ARBEITSTAG() schreiben)
Gilt hier allerdings "nur" für NRW.
Außerdem bediene ich mich (hier) der Osterformel von Excelformeln.
=LET(Jahre;SEQUENZ(;25;JAHR(HEUTE()));
 FFT;DATUM(Jahre;1;{1;121;276;305;359;360})+WENN(MONAT(DATUM(Jahre;2;29))=2;{0;1;1;1;1;1});
 OFT;RUNDEN((TAG(MINUTE(Jahre/38)/2+55)&".4."&Jahre)/7;)*7-6+{-2;0;1;39;49;50;60};
 SORTIEREN(VSTAPELN(FFT;OFT)))

Dieser Formelzelle gebe ich den Namen FT (bezieht sich auf: =Tabelle2!$A$1#)

Wer es für ein anderes Bundesland benötigt, muss
• die Matrixkonstante der festen Feiertage {1;121;276;305;359;360}
• sowie die Schaltjahres-Korrektur-Matrix {0;1;1;1;1;1}
• und evtl. die Osterfeiertage-Matrix {-2;0;1;39;49;50;60}
anpassen.

Für NRW ergibt dann =ARBEITSTAG(HEUTE();260;FT) "nur" den 13.10.2023
NRW hat halt weniger feste FT als BaWü.
(6.1., 8.3. und 20.9. sind in NRW keine FT)

Gruß Ralf
Hallo,

Danke für die Ihre Hilfe, Ihr seid klasse!!
Das ist genau was ich brauche.

Schöne Feiertage
Alberto
Seiten: 1 2