Folgetag ohne Wochenenden und Feiertage
#1
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


Angehängte Dateien
.xlsx   Test1.xlsx (Größe: 10,17 KB / Downloads: 6)
Antworten Top
#2
=ARBEITSTAG()
=ARBEITSTAG.INTL()
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#3
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.
Antworten Top
#4
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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#5
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
Antworten Top
#6
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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Antworten Top
#7
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
Antworten Top
#8
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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • Alberto
Antworten Top
#9
(02.10.2022, 08: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
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) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Alberto
Antworten Top
#10
Hallo,

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

Schöne Feiertage
Alberto
Antworten Top


Gehe zu:


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