Hallo Rudi,
1.
Das ist schon längst in der letzten Datei (..._balu_5.ods) integriert. Hatte ich nicht erwähnt, weil ich wollte Das Du dich noch mal meldest

. {verzeih meinen schrägen Humor}
Spaß beiseite.
Ich musste erst selber testen wie ich das dort regel. Weil das nämlich nicht ganz so einfach ist Zahlenwerte aus einem Text zu extrahieren, das Datumsformat richtig umzustellen und an der passenden Stelle noch zu Subtrahieren. Und das ganze auch als eine universelle Formel dort zu programmieren. Das ist jetzt hier aber nur als Randnotiz zu sehen, denn die Formeln die in dem Ferienblatt sind, sind ein eigenes Thema für sich selbst.
2.
Ja ja, der 29. Februar! Er ist immer für Überraschungen gut. Und wenn schon eine vorhandene Formel dahingehend noch angepasst werden muss, kann das unter umständen schon mal recht kompliziert werden.
Doch kommen wir nun zur Lösung des Problems.
In der 2. Datumsspalte, also die wo der Wochentag (Mo, Di..) steht, habe ich mit Trick 17 gearbeitet. Das heißt, in den Zellen ist eine Formel mit der Funktion VORLAGE. Aber gleichzeitg ist auf den Zellen auch eine Bedingte Formatierung aktiv. Und jetzt kommt etwas, was Du dir ruhig merken solltest.
Wenn eine Zelle mit VORLAGE verarbeitet wird, und auf ihr eine Bedingte Formatierung liegt, dann kann je nach Bedingung der BF sie die Formatierung der VORLAGE regelrecht ÜBERSCHREIBEN. Mit anderen Worten: In solchen Situationen hat die BF oberste Priorität.
Und das kannst Du dir jetzt für den 29. Februar zu nutze machen. Genau so wie ich es mit der 2. Datumsspalte gemacht habe. Wobei das jetzt aber erstmal nur ein Kosmetischer Eingriff ist.
Also, Du erstellst dir eine Zellvorlage mit folgenden Einstellungen.
-> F11 (Formatvorlagen) aufrufen.
-> rechtsklick auf Standard, und dann Neu.
-> bei Name gibst Du z.B. EndFebruar ein
-> wechsel auf das Register: Zahlen
--> bei Kategorie = Benutzerdefeniert
--> rechts daneben wählst du den 4. Eintrag aus. Sieht so aus als wenn da nichts steht, aber unten bei Format-Code siehst Du: [>0]"";[<0]"";"";""
Dieser Format-Code verhindert das irgendetwas in der Zelle angezeigt wird. Also kein Text und Keine Zahlen.
-> wechsel auf das Register: Umrandung
-> Das durchgehende Quadrat auswählen (2. von links). Wenn Du willst kannst Du auch keine Umrandung auswählen. Es kommt nur darauf an ob alle Monate von oben nach unten mit Kästchen ausgefüllt werden sollen, oder nur entsprechend ihrer tatsächlichen Tage.
-> wechsel auf das Register: Hintergrund
-> Standardmäßig ist dort "Keine Füllung" voreingestellt, und das soll so bleiben.
-> OK, und fertig.
Zelle E31.
Bis jetzt steht da nur: E30+1
Und das wird auf das hier geändert.
Zelle F31
Von
Code: Alles auswählen
=E31+VORLAGE(WENN(SUMMENPRODUKT(E31>=$Ferien.$B$11:$B$18;E31<=$Ferien.$C$11:$C$18);"FerienTAG";"WerktagTAG"))
auf
Code: Alles auswählen
=WENN(ISTSCHALTJAHR(E29);E31+VORLAGE(WENN(SUMMENPRODUKT(E31>=$Ferien.$B$11:$B$18;E31<=$Ferien.$C$11:$C$18);"FerienTAG";"WerktagTAG"));"")
ändern.
Zelle G31
Von
Code: Alles auswählen
=WENN(WOCHENTAG(E31;2)=1;KALENDERWOCHE(E31;2)&".KW"&T(VORLAGE(WENN(SUMMENPRODUKT(E31>=KrankVon;E31<=KrankBis);"Krank";WENN(ZÄHLENWENN(Gleitzeit;E31);"Gleit";SVERWEIS(REST(E31;21);$Schichten.$F$3:$G$23;2;0)))&"KW"));""&T(VORLAGE(WENN(SUMMENPRODUKT(E31>=KrankVon;E31<=KrankBis);"Krank";WENN(WOCHENTAG(E31;2)>5;"WochenendeSchicht";WENN(ZÄHLENWENN(Gleitzeit;E31);"Gleit";SVERWEIS(REST(E31;21);$Schichten.$F$3:$G$23;2;0)))))))
auf
Code: Alles auswählen
=WENN(ISTSCHALTJAHR(E29);WENN(WOCHENTAG(E31;2)=1;KALENDERWOCHE(E31;2)&".KW"&T(VORLAGE(WENN(SUMMENPRODUKT(E31>=KrankVon;E31<=KrankBis);"Krank";WENN(ZÄHLENWENN(Gleitzeit;E31);"Gleit";SVERWEIS(REST(E31;21);$Schichten.$F$3:$G$23;2;0)))&"KW"));""&T(VORLAGE(WENN(SUMMENPRODUKT(E31>=KrankVon;E31<=KrankBis);"Krank";WENN(WOCHENTAG(E31;2)>5;"WochenendeSchicht";WENN(ZÄHLENWENN(Gleitzeit;E31);"Gleit";SVERWEIS(REST(E31;21);$Schichten.$F$3:$G$23;2;0)))))));"")
ändern.
Zelle H31
Von
auf
Code: Alles auswählen
=WENN(ISTSCHALTJAHR(E29);WENN(ARBEITUNFÄHIG;"Krank";WENN(UND(WOCHENTAG(F31;2)<6;ZÄHLENWENN(Gleitzeit;F31));"Gleit";SVERWEIS(REST(F31;21);$Schichten.$F$3:$G$23;2;0)));"")
ändern.
Wie Du siehst habe ich die vorhandenen Formeln in eine zusätzliche WENN-Formel mit ISTSCHALTJAHR() gepackt.
Und nun zu der Bedingten Formatierung.
Wenn dort z.B. steht
dann ändere das auf
Da die Wahrscheinlichkeit sehr gering ist das am 29. Februar ein Gesetzlicher Feiertag ist, kannst Du in der BF die dementsprechende Formel löschen, und gegen diese tauschen.
Ich hoffe Du bekommst das in den Griff, ansonsten wieder melden.
Was Punkt 3 betrifft, Urlaubstage ausrechnen, da überleg ich mir was. Doch nun muss ich wieder raus und Schneeschüppen *bbbrrrr-kaaalt*
Gruß
balu