[gelöst] Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Moderator: Moderatoren
[gelöst] Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
bin gerade dabei für unsere Firma eine komplette Urlaubsverwaltung in OpenOffice Calc zu erstellen. Bisheriges Ergebnis siehe Anhang!
Der Plan:
Jeder Mitarbeiter bekommt eine eigene Tabelle (MA01, MA02, MA03, ..., MA50) in der die Urlaubs"wünsche" eingetragen werden.
Die so eingepflegten Urlaubsdaten sollen dann im Jahresplaner optisch sichtbar sein, z.B. durch farbliche Hinterlegung wie ich es aktuell und manuell angedeutet habe.
Wie bekomme ich das so hin wie gewünscht?
---
Alternativ könnte ich mir auch vorstellen, dass die Mitarbeiter im Jahresplaner Ihre Urlaubstage z.B. mit "u" kennzeichen, und daraus dann die Mitarbeitertabellen MA01..MA50 jeweils mit den richtigen Daten befüllt werden (Urlaub von/bis -> zusammenhängende Blöcke!), wie angedeutet mit MA04.
Kann mir da jemand auf die Sprünge helfen?
---
Falls ich das sinniger Weise besser ganz anders lösen sollte, wäre ich auch hier für Tipps dankbar!
Ziel ist es eben, eine komplette Urlaubsverwaltung in AOO oder LO abzubilden.
Hylli
- Dateianhänge
-
- Urlaubsverwaltung_Mitarbeiter.ods
- (43.37 KiB) 198-mal heruntergeladen
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
im Jahresplaner kannst du mit
Code: Alles auswählen
SUMMENPRODUKT(C2>=$MA02.$C$18:$C$35;C2<=$MA02.$H$18:$H$35)
Ist dem so, ist das Ergebnis der Formel die Zahl 1, falls nicht kommt 0 (null) raus; jetzt kannst du die Formel in die bedingte Formatierung packen und die Zellen per Vorlage einfärben.
Ich hoffe, das hilft dir schon malö weiter.
Gruß
paljass
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
ich denke das dürfte mir schon reichen!
Vielen Dank für die Hilfe.
Edit:
Füge ich die bedingte Formatierung im ganzen Jahresplaner ein, so bläht sich die Datei schnell auf 320kb auf.
Das wäre soweit noch OK, aber die Datei wird dann kaum noch nutzbar, weil sie sehr träge auf alles reagiert.
Teste aktuell unter LibreOffice 5.1.4 unter Linux Mint, und da geht praktisch nichts mehr.
Hylli
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
ein paar Vereinfachungen auf die schnelle.
Im Blatt *Jahresplaner* im Zellbereich B3:NC3, hier als Beispiel B3, hast Du folgende Formel.
Code: Alles auswählen
=WOCHENTAG(B2)
Code: Alles auswählen
=B2
Auch wenn diese Änderung ja "nur ne kleinigkeit ist", so kann sie schon mal der erste Schritt Richtung "nu wirds flotter" sein.
Die Formel von paljass ist ja ganz gut und schön, aber aus selbst gemachter Erfahrung weiß ich, das bei sehr umfangreichen Tabellen selbst so eine Formel NICHT in die Bedingte Formatierung gehört. Du erfährst ja momentan das Resultat davon.
Du könntest die Dateigröße eventuell dadurch verringern, in dem Du der Formel einen Namen zuordnest. Also Zelle C3 anwählen, dann ->Einfügen ->Namen ->Festlegen (Strg + F3) -{oder wie auch immer das in deiner Version heißen mag}-.
Dann vergibst Du einen Namen; z.B: UrlaubMarkieren
dann gibst Du folgende Formel ein
Code: Alles auswählen
SUMMENPRODUKT(C2>=$MA02.$C$18:$C$35;C2<=$MA02.$H$18:$H$35)
In der Bedingten Formatierung trägst Du nicht mehr die komplette Formel ein, sondern den eben zugeordneten Namen UrlaubMarkieren.
Wie gesagt, dadurch müsste die Dateigröße schon mal etwas kleiner werden.
Aber anderseits hatte ich ja gesagt das die Formel überhaupt nicht in die Bedingte Formatierung gehört, so etwas gehört in diesem Falle ins Tabellenblatt in eine Zelle. Doch dazu müsstest Du am besten entweder ober- oder aber unterhalb der Mitarbeiter ZEILE eine weitere Zeile einfügen wo Du dann den eben vergebenen Namen eingibst. Diese zusätzlich eingefügten ZEILEN für ALLE MAs mit dem Namen kannst Du ja anschlißend wieder ausblenden.
Als nächstes fragst Du in der Bedingten Formatierung die zusätzliche Zeile ab, ob da eine 1 drin steht.
Jetzt müsste die Datei wohl wieder etwas an größe dazugewonnen haben, aber dafür müsste sie im gegenzug dazu etwas an Geschwindigkeit dazu gewonnen haben.
Meine ganz persönliche Meinung zu der Datei ist, den Urlaubsplaner so per Formel zu gestalten ist alles andere als gut.
Wenn ich sehe das Du im Blatt *Jahresplaner* insgesamt 50 MAs aufgelistest hast, müssen ja dementsprechend auch 50 einzelne Tabellenblätter für sie angelegt werden. Und das frisst enorme Resourcen, wenn der Jahresplaner nicht überarbeitet wird.
Auf den ersten Blick im Blatt *Jahresplaner* dachte ich ja schon:
"Oh wie schön! Da könnte ich dir ja eventuell eine alternative anbieten."
Aber beim genaueren hinschauen, die Anzahl an Spalten bezüglich der Tage, hatte ich meine gedachten Worte wieder zurück genommen.
Ich wollte dir nämlich vorschlagen den *Jahresplaner* per Diagramm zu gestalten. Hatte nämlich mal ein Projekt, wo 25 Stunden (im Halbstunden-Takt) waagerecht aufgeführt wurden und die MAs in der Spalte A (im Diagramm) aufgelistet sind. Dafür waren es auch lediglich nur so ca. 30 MAs deren Anwesenheit erfasst wurden.
Ich weiß also jetzt auf die schnelle nicht wie 365 Tage in einem Diagramm übersichtlich dargestellt werden können. Und zwar so, das man noch etwas erkennen kann.
Du könntest ja mal, wenn Du Zeit und Langweile hast, versuchen den *Jahresplaner* per Diagramm zu gestallten. Da mein Projekt doch insgesamt nicht grad klein war, habe ich das alles per Makro erschlagen. Also falls Du mit dem Diagramm nicht weiter kommst, sag bescheid und ich werd mal schaun was sich da machen lässt (wird dann aber bestimmt nicht von heute auf morgen geschehen).
So, und nu gehts ab in die Heia.
Guts nächtle
balu
wehr rächtschraipfähler findet khan si behalden
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Den Vorschlag die Funktion "WOCHENTAG" im Zellberech B3:NC3 wegzulassen, habe ich nun berücksichtigt, gleichfalls natürlich auch in B54:NC54.
Weiterhin habe ich das ganze auf 40 Mitarbeiter gekürzt, da wir derzeit nur 36 Mitarbeiter sind, dürfte das zunächst reichen.
Die Formel von @paljass habe ich nur für die Berechnung der Zellen (=Urlaub ja/nein) verwendet.
Für die bedingte Formatierung habe ich dann ZELLWERT=1 bzw. ZELLWERT=0 herangezogen und sowohl Schriftfarbe als auch Zellhintergrund gleich eingefärbt.
Das ganze führte wie gestern Nacht erwähnt unter LibreOffice 5.1.4 (Linux Mint 18) dazu, dass sich die Datei schnell auf 320kb aufblähte und kaum noch reagierte.
Ich habe nun gleiches Spiel heute Morgen unter OpenOffice 4.1.2 durchgeführt (noch mit 50 Mitarbeitern!) und die Datei läuft immer noch performant genug. Die Dateigröße ist aktuell auch "nur" 154kb groß.
Ich werde das jetzt erst einmal weiter ausbauen mit den 40 Mitarbeiterblättern und schauen, wie sich das dann auf die Performance auswirkt.
----
Zwei Fragen hätte ich dennoch:
1. Die Mitarbeiterblätter werden vermutlich mit deren Kurzzeichen benannt, derzeit also MA01..MA50.
Wie baue ich meine Funktionen mit Bezug auf Mitarbeitertabellen darauf um, dass die Bezeichnung aus Spalte 2 in der Tabelle "Urlaubsplaner" herangezogen wird, am besten per SVERWEIS bzgl. Mitarbeitername?
2. Wie fange ich einen #REF!-Fehler ab, wenn z.B. eine Tabelle nicht vorhanden ist?
Hylli
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
zu 1) ich denke, das geht nur mit Indirekt()
Code: Alles auswählen
=SVERWEIS(I$2;INDIREKT($B3&".$A$18:$T$35");17;0)
zu 2) Dazu musst du eine Abfrage mit =Istfehler() in die Formeln einbauen.
Grzuß
paljass
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
momentan hat die Datei mit 40 Mitarbeitertabellen und insgesamt 49 Tabellen (inkl. Jahresplaner mit bedingter Formatierung) eine Dateigröße von 224kb und läuft immer noch absolut OK.
Das ganze unterOpenOffice 4.1.2 bzw. LibreOffice Portable 5.2.1!
---
Gestern Abend hatte die bereits 318kb mit nur 4 Mitarbeitertabellen und insgesamt 11 Tabellen (inkl. Jahresplaner mit bedingter Formatierung) und war praktisch nicht mehr nutzbar.
Da hat mir LibreOffice 5.1.4 (muss ich nochmals checken!) gestern irgendwie einen Strich durch die Rechnung gemacht?!?
---
Zu Deiner Antwort zu 1):
Ist die Funktion allgemein gehalten oder soll die irgendwo in mein Schema passen?!?
Irgendwie verstehe ich da nur Bahnhof, aber das geht mir meistens so mit Funktionskonstrukten mit INDIREKT().
Hättest Du mal ein Beispiel, wie das zusammen mit der SUMMENPRODUKT()-Funktion in Zelle C5 auf dem Jahresplaner aussehen müsste?
Zu Deiner Antwort zu 2):
Auch das will mir nicht gelingen. Ich dachte da auch erst eher an ISTNV() bzw. ISTBEZUG()?
Wenn ich mit ISTFEHLER() eine Abfrage auf eine noch vorhandene Tabelle mache und diese dann lösche, erhalte ich in der Funktion dann wieder mein "#REF!".
Ich vermute allerdings, dass ich mich weiter oben etwas falsch ausgedrückt habe!
Es geht um den #REF!-Fehler in einer Funktion und nicht um das Ergebnis in einer Zelle.
Hylli
- Dateianhänge
-
- Urlaubsverwaltung_Mitarbeiter_mit_Bedingte_Formatierung.ods
- (223.8 KiB) 123-mal heruntergeladen
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Ach ja dann, is ja gut.hylli hat geschrieben: Die Formel von @paljass habe ich nur für die Berechnung der Zellen (=Urlaub ja/nein) verwendet.
Für die bedingte Formatierung habe ich dann ZELLWERT=1 bzw. ZELLWERT=0 herangezogen und sowohl Schriftfarbe als auch Zellhintergrund gleich eingefärbt.
Aber trotzdem, das was ich sagte bezüglich Namen für Formel vergeben würde ich an deiner Stelle trotzdem machen. So hast Du nämlich eine zentrale Stelle von wo Du die Formel ändern kannst.
Hatte grad eben LinuxMint 14 für die VirtuelleBox gedownloaded (ein fertiges Image welches in der Box nur noch schnell importiert werden muss, dauerte keine 5 minuten), und musste feststellen das dort nur LO 3.6.? installiert ist. Wollte dort LO updaten, da ich aber das System nicht auf Deutsch umstellen kann, wegen einerseits Fehlermeldung wegen angeblicher Internetverbindungsprobleme und anderseits wegen meiner nicht so berauschenden englisch kenntnisse, habe ich das ganze erstmal abgebrochen. Und unter WinXP bekomme ich momentan LO 5.x.x auch nicht installiert. Sorry das ich in dieser Hinsicht nicht weiterhelfen kann, was die 5er Linie anbelangt.hylli hat geschrieben: Das ganze führte wie gestern Nacht erwähnt unter LibreOffice 5.1.4 (Linux Mint 18) dazu, dass sich die Datei schnell auf 320kb aufblähte und kaum noch reagierte.
Ich habe nun gleiches Spiel heute Morgen unter OpenOffice 4.1.2 durchgeführt (noch mit 50 Mitarbeitern!) und die Datei läuft immer noch performant genug. Die Dateigröße ist aktuell auch "nur" 154kb groß.
Die unterschiedliche Dateigröße kann aber daran liegen, das in LO irgendwo dort in den Optionen bei Laden/Speichern die Option "ODF-Format auf Größe optimieren" deaktiviert ist.
Da ich nicht weiß in wie fern sich da etwas bei LO 5.x.x geändert hat, habe ich das jetzt mal so komisch formuliert.
Die einfachste Methode ist folgende.hylli hat geschrieben: 2. Wie fange ich einen #REF!-Fehler ab, wenn z.B. eine Tabelle nicht vorhanden ist?
Erstelle eine Liste von allen vorhandenen Tabellenblättern die sich auf die MAs beziehen. Als Beispiel in Blatt "Feietage" in der Spalte D, beginnend ab D2:
MA01
MA02
MA03
....
Dann gibst Du in E2 folgende Formel ein.
Code: Alles auswählen
=WENN(ISTFEHLER(INDIREKT(D2&".A1"));"-";1)
Jetzt noch mal etwas generelles zu deiner Fehlerbfragung z.B. in MA01 in der Zelle M5. Dort hast Du folgende Formel stehen.
Code: Alles auswählen
=WENN(ISTFEHLER(SVERWEIS($H$2;$Urlaubsplaner.$A$3:$F$52;4;0));"";SVERWEIS($H$2;Urlaubsplaner.$A$3:$F$52;4;0))
Code: Alles auswählen
=WENN(ZÄHLENWENN($Urlaubsplaner.$A$3:$A$52;$H$2);SVERWEIS($H$2;Urlaubsplaner.$A$3:$F$52;4;0);"")
Oder diese Version ist/war noch mangelhaft (mit Fehlern behaftet).hylli hat geschrieben: Da hat mir LibreOffice 5.1.4 (muss ich nochmals checken!) gestern irgendwie einen Strich durch die Rechnung gemacht?!?
Da ja jetzt viel mit INDIREKT gearbeitet wird, überlege ich mir momentan etwas um das System diesbezüglich zu optimieren. Oder vielleicht ist ja paljass etwas schneller
Gruß
Balu
wehr rächtschraipfähler findet khan si behalden
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
In Verbindung mit einer Formatierung zur Anzeige des Wochentags ist jede Verwendung von =WOCHENTAG(…) Quark, auch wenn da zufällig der "richtige" Wochentag angezeigt wird.
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
in Zelle C5 auf dem Urlaubsplaner, habe ich nun mal folgende Funktion/Formel eingebaut:
Code: Alles auswählen
=WENN(ISTFEHLER(INDIREKT(SVERWEIS($A5;$Urlaubsplaner.$A$3:$F$43;2;0)&".A1"));"";SUMMENPRODUKT(C$2>=INDIREKT(SVERWEIS($A5;$Urlaubsplaner.$A$3:$F$43;2;0)&".$C$18:$C$35");C$2<=INDIREKT(SVERWEIS($A5;$Urlaubsplaner.$A$3:$F$43;2;0)&".$H$18:$H$35")))
Das mit der Fehlerabfrage mit ZÄHLENWENN() werde ich mir auch noch zu Gemüte führen.
@Karolus:
Im Nachhinein ist mir das nun auch klar.
Hylli
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Um mein vorher genanntes Beispiel treu zu bleiben, habe ich im Blatt *Feiertage* alle Mitarbeiterblätter aufgelistet. Na ja, stimmt nicht ganz, denn zu demonstrationszwecken habe ich nach MA03 andere fortlaufende Namen genommen, damit Du siehst wie sich das aufs Formelsystem niderschlägt.
Im Blatt *Urlaubsplaner*:
In der Spalte AA ab AA3 das hier eingegeben.
Code: Alles auswählen
WENN(ZÄHLENWENN($Feiertage.$D$2:$D$41;B3);SVERWEIS(B3;$Feiertage.$D$2:$E$41;2;0);"-")
Ferner habe ich in der Spalte A eine bedingte Formatierung angewendet die die Zelle Rot markiert falls kein entsprechendes Blatt vorhanden ist.
In I3 steht: =UrlaubGenommen
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SVERWEIS(I$2;INDIREKT($B3&".A18:T35");17;0);"")
Im Blatt *Mitarbeiter*:
In A3 habe ich die dortige Formel geändert, und zwar auf das hier.
Code: Alles auswählen
=WENN($Urlaubsplaner.$AA3=1;Urlaubsplaner.A3;"")
In B3 steht: =MitarbeiterZeichen
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SVERWEIS($A3;$Urlaubsplaner.$A$3:$F$42;2;0);"")
In C3 steht: =PersonalNr
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SVERWEIS($A3;$Urlaubsplaner.$A$3:$F$42;3;0);"")
In D3 steht: =AntragVON
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SVERWEIS(E$1;INDIREKT($B3&".A18:T35");3;0);"")
In E3 steht: =AntragBIS
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SVERWEIS(E$1;INDIREKT($B3&".A18:T35");8;0);"")
Im Blatt *Jahresplaner*:
In A4 habe ich die dortige Formel geändert, und zwar auf das hier.
Code: Alles auswählen
=WENN($Urlaubsplaner.$AA3=1;Urlaubsplaner.A3;"")
In ND4 steht: =BlattName
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN(A4<>"";SVERWEIS($A4;$Urlaubsplaner.$A$3:$B$43;2;0);"")
In B4 steht: =JahresUrlaubMitarbeiter
Die dazugehörige Formel lautet.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA3=1;SUMMENPRODUKT(B$2>=INDIREKT($ND4&".C18:C35");B$2<=INDIREKT($ND4&".H18:H35"));"")
Ich sage hier und jetzt Formel, dabei meine ich doch den zugeordneten Namen. *tztztz*
In diesem Falle lohnt es sich nicht alles in eine Formel zu packen, sondern auf andere Spalten aufzuteilen. Und deshalb wird der Blattname in der Spalte ND aufgeführt und die SUMMENPRODUKT bezieht sich dann auf diese Spalte. Dadurch wirkt die SUMMENPRODUKT doch gleich viel übersichtlicher.
Schau dir die Datei in ruhe an, und melde dich bei Problemen oder sonstigen weiteren Fragen. Ich weiß nämlich jetzt nicht ob mir da ein Fehler unterlaufen ist, musst Du mal überprüfen.
Viel Vergnügen
Gruß
balu
- Dateianhänge
-
- Urlaubsverwaltung_Mitarbeiter_mit_Bedingte_Formatierung_x9.ods
- (164.11 KiB) 110-mal heruntergeladen
wehr rächtschraipfähler findet khan si behalden
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
super genial! Ich war zwar auch schon relativ weit mit meinen "umständlichen" und langen Formeln, aber Deine Vorschläge werde ich wohl so übernehmen.
Einige optische Dinge wie z.B. "Mitarbeiter nur anzeigen wenn vorhanden", hast Du mir auch schon vorweg genommen.
Beim Jahresplaner habe ich noch 2 Problemfälle, vielleicht kannst Du mir auch da noch kurz weiterhelfen:
Aktuell verwende ich die bedingte Formatierung für
1. Wochenende = Grün (Zellvorlage "JP_Wochenende")
2. Urlaub genommen = Cyan Schriftfarbe/Hintergrund (Zellvorlage "JP_Urlaub")
3. Kein Urlaub = weiße/r Schriftfarbe/Hintergrund (Zellvorlage "JP_kein_Urlaub")
Würde gerne noch die Feiertage anders einfärben. Außerdem noch die für den 29.02. vorgesehene Spalte, sofern es sich nicht um ein Schlatjahr handelt.
Benötige dazu weitere Bedingungen, die mir AOO so nicht liefert. Mottco soll dabei nicht zum Einsatz kommen.
Hylli
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Danke schön.super genial!
Eigentlich hast Du dir die Antwort doch schon selber gegeben, und sogar fast schon die Lösung dafür.1. Wochenende = Grün (Zellvorlage "JP_Wochenende")
2. Urlaub genommen = Cyan Schriftfarbe/Hintergrund (Zellvorlage "JP_Urlaub")
3. Kein Urlaub = weiße/r Schriftfarbe/Hintergrund (Zellvorlage "JP_kein_Urlaub")
Würde gerne noch die Feiertage anders einfärben.
Aber auch für dich im Detail.
Eigentlich brauchst Du bis jetzt doch nur 2 Bedingte Formatierungen, einmal fürs Wochenende und einmal für Urlaub. Und wenn beides nicht zutrifft, soll halt die Bedingte Formatierung nix machen. Und diesen Umstand machst Du dir jetzt zu nutze
Das heißt, wenn die Bedingte Formatierung nix machen soll, oder besser gesagt, wenn keine Bedingung zutrifft, dann wird ja auch keine Formatierung angewendet und das bedeutet widerum, das die von Hand formatierte Zelle angezeigt wird. Also musst Du nur dafür sorgen das so gesehen eine gewisse "Grundeinstellung" für die Zellen existiert.
Du kamst wohl schon auf die simple Idee:
"Wenn nix angezeigt werden soll, dann mache ich die Schrift und den Hintergrund einfach Weiß."
Doch dieses System taucht nix, wenn z.B. Wochenenden angezeigt werden. Denn dann ist ja die Schrift wohl Weiß, aber der Hintergrund Grün, und folglich sieht man die Zahlen.
Diese Problem lässt sich aber ganz einfach umgehen, in dem Du wie folgt vorgehst.
Die betroffene Zelle anwählen, Rechtsklick auf die Zelle, und dann bei *Zellen formatieren* im Reiter *Zahlen* gibst Du unten bei *Benutzerdefeniert* einfach folgenden Format-Code ein.
Code: Alles auswählen
;;;
Da Du ja die Zellen schon per Hand formatiert hattest, die ja auch die Zellumrandung beinhaltet, hast Du jetzt eine gute "Grundeinstellung" die immer zum tragen kommt, wenn keine Bedingung in der Bedingten Formatierung zutrifft. Und das heißt, deine bisherige 3. Bedingung dort ist überflüssig, sie steht also so gesehen zur freien Verfügung. Und diesen Umstand machst Du dir jetzt zum Vorteil indem Du jetzt eine Feiertagsüberprüfung dort einbaust. Und schon hast Du eine "4 fache Bedingte Formatierung".
Doch bevor Du die einbaust brauchts ja eine möglichkeit nach den Feiertagen zu suchen. Aber auch das ist kein Problem. Einfach vor der Zeile 2 eine weitere Zeile einfügen, und dort dann in der neuen B2 folgende Formel rein.
Code: Alles auswählen
=ZÄHLENWENN($Feiertage.$A$2:$A$18;B3)
Nun diese neue Zeile 2 einfach ausblenden.
Und jetzt die Bedingte Formatierung ändern.
Da ja die 3. frei ist, änderst Du sie wie folgt.
Code: Alles auswählen
Formel ist: B$2=1
Bedingung: JP_Feiertag
Tja, da gibt es sehr viele möglichkeiten. Seis mit oder ohne ein Makro. Und es ist auch eine Sache des persönlichen Geschmaks.Außerdem noch die für den 29.02. vorgesehene Spalte, sofern es sich nicht um ein Schlatjahr handelt.
Aber ich persönlich würde das wie folgt machen, ob Dir das gefällt musst Du sagen.
Ich kenne wohl persönlich jemanden der am 29. Februar Geburtstag hat, mein ehemaliger Klassenlehrer aus der Schulzeit, aber ich kenne bis jetzt nicht einen einzigen Feiertag der auf dieses Datum fällt. Also würde ich nur für diese Splate in der Bedingten Formatierung die Bedingung für Feiertag rausschmeisen, und dann die Reihenfolge ändern.
Code: Alles auswählen
1.Bedingung:
Formel ist: BI=""
Bedingung: FebruarEnde
Wobei wir dann auch schon bei einem wichtigen Punkt sind, betreffs Bedingte Formatierung.
Die eingetragene Reihenfolge der einzelnen Bedingung macht sehr viel aus. Daran sollte man immer denken. Aber wahrscheinlich ist dir das ja nicht ganz unbekannt.
Kommen wir zum Blatt *Feiertage*.
Rosenmontag, Zelle A4.
Formel dort.
Code: Alles auswählen
=WENN(ISTSCHALTJAHR(A1);OSTERSONNTAG(A1)-47;OSTERSONNTAG(A1)-48)
Richtig ist; Rosenmontag ist 48 Tage vor Ostersonntag. Und demzufolge wird die Formel auch gleich dort geändert. Doch zuvor eine andere Änderung.
Füge vor Ostermontag eine Zeile ein, oder verschiebe den Bereich A6:B17 um eins nach unten. Das wäre dann die neue A6. Und dort gibst Du ganz einfach das ein.
Code: Alles auswählen
=OSTERSONNTAG(A1)
Code: Alles auswählen
=A6-48
Das wars.
Wie gesagt, melde dich falls LO 5.x.x sich irgendwie komisch oder anders verhällt als wie von mir gedacht.
Gruß
balu
- Dateianhänge
-
- Urlaubsverwaltung_Mitarbeiter_mit_Bedingte_Formatierung_v1.ods
- (166.62 KiB) 115-mal heruntergeladen
wehr rächtschraipfähler findet khan si behalden
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Da habe ich einiges zu dokumentieren, damit ich später auch wieder durchsteige.
Ein Problem besteht aktuell im Jahresplaner unter LibreOfice 5.1.4.2 (Linux Mint 18):
Es werden keine Urlaube farblich markiert!
Zum Rosenmontag:
Da hat mich irgendjemand anders dazu verleitet. Meinte, man müsse beim Schaltjahr aufpassen.
Hylli
Wer eine Lösung selbst findet, sollte die für die Nachwelt auch posten!
Geschäftlich: LibreOffice 6.0.x ("Still") unter Windows 10 64bit
Privat: LibreOffice 6.0.x ("Still") unter Linux Mint 19.x Cinnamon 64bit
Re: Urlaubsverwaltung - hier: "Befüllung" Jahresplaner
Gern geschehn.Uiuiuiui, vielen Dank für die Änderungen und Deine Ausführungen dazu!
Ja klar doch, FÄÄTTTER FÄHLER meinerseits. Entschuldigung.Ein Problem besteht aktuell im Jahresplaner unter LibreOfice 5.1.4.2 (Linux Mint 18):
Es werden keine Urlaube farblich markiert!
Hatte nämlich vergessen gehabt die Formel anzupassen, nachdem ich die zusätzliche Zeile eingefügt hatte.
Wähle die Zelle B5 an.
Ändere die Formel für den zugeordneten Namen: JahresUrlaubMitarbeiter
-> Einfügen
-> Namen
-> Verwalten
-> JahresUrlaubMitarbeiter auswählen
Bei Umfang steht die Formel (zumindest in LO 4.3.4.1), und die tauscht Du gegen diese aus.
Code: Alles auswählen
WENN($Urlaubsplaner.$AA4=1;SUMMENPRODUKT(B$3>=INDIREKT($ND5&".C18:C35");B$3<=INDIREKT($ND5&".H18:H35"));"")
-> Fertig.
Aber wie gesagt, dazu muss die Zelle B5 angewählt sein, das ist extrem wichtig. Also nicht X7 oder D11, nein(!), es muss B5 sein wenn Du diese Formel dort eingibst.
Gruß
balu
wehr rächtschraipfähler findet khan si behalden