❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Urlaubsplaner

CALC ist die Tabellenkalkulation, die Sie immer wollten.
EasyTJ
Beiträge: 38
Registriert: So 20. Nov 2016, 13:48

Re: Urlaubsplaner

Beitrag von EasyTJ » Sa 10. Dez 2016, 11:15

Hey balu,

also das mit dem Lesen und Schreiben klappt soweit ganz gut - manchmal hapert es an der Konzentration nach der Arbeit ;). Ok 'mehr' als 10 Minuten... macht das nicht unbeeindruckender :)

Ok das mit dem Blatt und der Tabelle das war mir nicht bewusst. Es ist mein erstes Calc-Projekt und habe daher die Vokabeln noch nicht drauf. Ich werde versuchen, mich zu bessern - sorry!

Ich werde nun versuchen, deine Kalenderversion so gut wie möglich zu entschlüsseln und schrittweise in meine zu übernehmenb - nur so lerne ich.
Das mit der Berechnung der Tage im Kalenderblatt:

Deine Formel für den 1. Februar: =DATUM($A$1;MONAT(A5)+1;1)
Meine Formel für den 1. Februar: =MONATSENDE(A5;0)+1

Läuft aufs Selbe hinaus, oder sollte ich deine Variante übernehmen, damit ich später weniger Probleme bekomme? Der Kalender steht ja eh schon soweit. Ich kann aber nachvollziehen, wieso du bei deiner neu erstellten Kalendervariante das Ganze so gestaltet hast!


"Zellenbereiche einem Namen zugeordnet" - ja das meinte ich damit. Das verstehe ich auch soweit.




Nun zu deinen Formeln. Es hat ne Weile gedauert, bis ich die gefunden habe. Problem scheint tatsächlich meine LO-Version zu sein (übrigens Vers. 5.1.1.3 x64).
Ich habe deine beiden Links durchaus gelesen, balu. Auch das, was craig dazu geschrieben hatte, habe ich gelesen.

Auf deinen Links stand, dass man folgendermaßen dahingelangt: "Einfügen"-->"Namen"-->"Festlegen". Das gibt es bei mir jedoch nicht (siehe Screenshot)
Craig beschrieb und bebilderte den Weg über das Drop-Down-Menü obewn rechts. Dort habe ich entsprechend auch die Namen für die Zellbereiche gefunden, nicht aber die Namen für die Formeln (siehe 2. Screenshot).

Letztlich habe ich herausgefunden, dass ich nach oben scrollen muss und dann "Namen verwalten" klicken muss. Da habe ich sie gefunden. Von daher sehe ich das nicht als meinen Fehler an!!!



Auf dieses Problem aufbauend basierte meine Nichtnachvollziehbarkeit bezüglich der bedingten Formatierungen. Da ich die Formeln nicht verstanden bzw. gefunden habe, die sich hinter den Namen verbergen, konnte ich auch nicht nachvollziehen was es mit der Spalte "T" auf sich hat. Auch die anderen Formatierungen waren damit ein Buch mit 7 Siegeln. Jetzt habe ich sie aber ja gefunden und werde Stück für Stück versuchen, zu verstehenm, was da passiert - total spannend :)


Bezüglich des "Fehlercodes" - auch das war eine fehlerhafte Beschreibung, da gebe ich dir Recht. Letztlich war damit gemeint, was passiert, wenn zu viele Personen Urlaub haben. Dann wird die Zeile ja "bunt" und "gekreuzt". Da wollte ich fragen, ob man die Anzahl derer Personen, die dieses "Event" auslöst, variabel halten kann.
Entsprechend wollte ich auch fragen, ob man die Farben dieses "Events" anpassen kann, dass man erkennt, an wem es denn nun liegt, dass "zu viele" Urlaub haben.



Ich melde mich, wenn ich mit dem Tüfteln nicht mehr weiter komme :D ... bis dahin noch ein Mal Danke


P.S.: Das mit dem variabel gestalten der Anzahl von Personen, die Urlaub haben dürfen habe ich selbst gefunden. Es verbarg sich in der T-Spalte ;)
Dateianhänge
Namen.jpg
Namen.jpg (139.8 KiB) 5446 mal betrachtet
Formeln.jpg
Formeln.jpg (31.88 KiB) 5446 mal betrachtet

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Urlaubsplaner

Beitrag von balu » Sa 10. Dez 2016, 13:53

manchmal hapert es an der Konzentration nach der Arbeit ;)
Kenne ich wohl zu genüge.
Du darfst mir aber auch ruhig glauben das diese Aussage von mir
balu hat geschrieben: heute mal wider typischwerweise nicht so gut geht (damit muss ich mich schon seit Jahren immer wieder rumschlagen *heul*)
nicht übertrieben ist (heute sogar noch schlimmer als gestern). Und dann versuche ich mein bestes um Informationen so gut wie es geht Sachlich rüber zu bringen, das dies sich aber manchmal nicht danach anhört liegt dann aber nicht an dir, sondern ist halt mal n ausrutscher meinerseits der nicht böse gemeint ist. Ich hoffe Du verstehst.

Aber genung davon, ab an die Arbeit ;-)

Ok das mit dem Blatt und der Tabelle das war mir nicht bewusst. Es ist mein erstes Calc-Projekt und habe daher die Vokabeln noch nicht drauf.
Deshalb hatte ich ja auch versucht den Unterschied passend an einem nachvollziehbaren Beispiel zu erklären, und Gott sei Dank war ja so ein Beispiel vorhanden. Dadurch kann man besser verstehen.

Deine Formel für den 1. Februar: =DATUM($A$1;MONAT(A5)+1;1)
Meine Formel für den 1. Februar: =MONATSENDE(A5;0)+1

Läuft aufs Selbe hinaus,
Nun ja, viele Wege führen irgendwo hin, seis nach Rom oder ...
Dein Aufbau deiner letzten Datei unterscheidet sich gleich zu Anfangs von meiner. Du hattest dort die Monatsnamen fest von Hand eingeschrieben ohne jeglichen Bedzug auf ein Datum, während ich meine Monatsnamen durch die Formel erstellen lasse. Und eine Zeile darunter nehme ich kurzerhand Bezug auf diese Formel/Zelle per: =A5, und dann anschließend =A6+1 .... .
Du gehst da wohl einen anderen Weg, den Du wenn Du so willst auch beibehalten kannst.

Mein System beruht halt auf andere Erfahrungen womit ich sehr gut Fahre. Bei diesem Kalender fällt der Vorteil von meinem System nicht so sonderlich auf. Aber es gibt auch andere Kalenderformen wo das schon etwas anderes ist. Aber das ist eine andere Baustelle.

Nun zu deinen Formeln. Es hat ne Weile gedauert, bis ich die gefunden habe. Problem scheint tatsächlich meine LO-Version zu sein (übrigens Vers. 5.1.1.3 x64).
Alles klar.

Auf deinen Links stand, dass man folgendermaßen dahingelangt: "Einfügen"-->"Namen"-->"Festlegen". Das gibt es bei mir jedoch nicht (siehe Screenshot)
Ja recht Herzlichen Dank für diese doch sehr wichtige Info (und das meine ich genau so wie ich es sage), inklusive dem Screeni. Hatte wohl schon son komisches Gefühl, was jetzt aber bestätigt wurde. Und das ist für mich wirklich sehr Hilfreich, da ich keine LO 5er Version habe (kann ich auf meinem WinXP nicht installieren).

Letztlich habe ich herausgefunden, dass ich nach oben scrollen muss und dann "Namen verwalten" klicken muss. Da habe ich sie gefunden.
Okay, Du hast einen weg zum Ziel gefunden, aber auf dem Screenshot sehe ich das nicht mit "nach oben scrollen".

Auf dieses Problem aufbauend basierte meine Nichtnachvollziehbarkeit bezüglich der bedingten Formatierungen. Da ich die Formeln nicht verstanden bzw. gefunden habe, die sich hinter den Namen verbergen, konnte ich auch nicht nachvollziehen was es mit der Spalte "T" auf sich hat.
Ah ja, jetzt verstehe ich besser.

Jetzt habe ich sie aber ja gefunden und werde Stück für Stück versuchen, zu verstehenm, was da passiert - total spannend :)
Das dies spannend ist, glaube ich dir sofort.
Jedoch muss ich dir jetzt etwas erklären was Du dir UNBEDINGT merken musst, denn sonnst erlebst Du böse Überraschungen.

Angenommen Du willst wissen was sich in D6 hinter =FeiertagsFORMEL verbirgt -{diese Formel dient jetzt nur als Beispiel}- , so musst Du zuerst diese Zelle einmal anklicken damit sie "markiert" ist. Und erst dann solltest Du dir den Namen "FeiertagsFORMEL" anschauen. Und nur so darfst Du eine *Namen-Formel* editieren.
Das heißt, Du darfst auf gar keinen Fall z.B. die Zelle X2 anklicken und dann die genannte Formel editieren. Das hat nämlich folgenden Grund.

Du weisst jetzt wohl mittlerweile was das heißt, eine Formel im Tabellenblatt runter zu ziehen, sie wird nach unten hin kopiert. Aus A6 wird A7 usw. etc. Das sind relative Adressbezüge, siehe auch http://www.ooowiki.de/AbsoluteAdresse.html

Und so wie man im Tabellenblatt Adressen anpassen kann, so passen sich auch die Adressen in einer *Namen-Formel* an. Steht die Zellmarkierung nicht auf einer Zelle wo man eine bestimmte *Namen-Formel* editieren will, gibts hinterher richtig dicke fääättte Probleme, GARANTIERT!

Okay, ein nachvolziehbares Beispiel.
- Bleiben wir bei der Zelle D6 mit =FeiertagsFORMEL.
- Gehe nun dir den Namen anschauen um zu sehen welche Formel sich dahinter versteckt.
- Kopiere die dortige Formel in den Zwischenspeicher, Strg + C.
- Verlasse dieses Fenster
- Füge die kopierte Formel in irgendeine leere Zelle ein.

- Jetzt klickst Du die Zelle X2 einmal an.
- Schau dir nun wider die Formel für FeiertagsFORMEL an.
- Kopiere die dortige Formel in den Zwischenspeicher, Strg + C.
- Verlasse dieses Fenster
- Füge die kopierte Formel in irgendeine leere Zelle ein, am besten direkt unterhalb der ersten einfüge Aktion.
- Vergleiche jetzt beide eingefügte Formeln.
- Du müsstest jetzt unterschiedliche Zelladressierungen sehen, die wohl wie folgt aussehen müssten.
WENN(ZÄHLENWENN(FeiertagsDatum;A6);SVERWEIS(A6;FeiertagsListe;2;0);"")
WENN(ZÄHLENWENN(FeiertagsDatum;U2);SVERWEIS(U2;FeiertagsListe;2;0);"")

So vorteilhaft das Arbeiten mit *Namen-Formeln* ist, so muss man doch schon etwas aufpassen und genauer hinschauen. Und glaub mir, auch ich gehe noch immer damit sehr vorsichtig mit um. Aber ich arbeite schon lönger damit, und ich kenne deswegen die Stolperfallen. Unterm Strich lohnt sich das einarbeiten alle male.


Entsprechend wollte ich auch fragen, ob man die Farben dieses "Events" anpassen kann, dass man erkennt, an wem es denn nun liegt, dass "zu viele" Urlaub haben.
Ist doch ganz klar!
Das liegt eindeutig an demjenigen der das zugelassen hat!
Du kannst aber auch fragen stellen, *tztztztztz* :lol:

Spaß beiseite.
Ich weiß jetzt nicht ob wir auf der selben Wellenlänge Funken, aber so einfach (wenn überhaupt) wird das nicht. Im groben kann ich mir wohl schon so ungefähr vorstellen was Du möchtest, aber die dementsprechende Umsetzung wird dann wohl doch extrem Komplex und rechenintensiv.

Nehmen wir mal folgende Denksportaufgabe.
Mitarbeiter 1 bis Mitarbeiter 6 (Kurzform: P01 bis P06)
Jede Zeile ein neuer Tag:
- P01 bis P03 haben Urlaub. Also weniger als 4.
- Jetzt kommt noch einer hinzu, also P01 bis P04. Gleich 4, aber noch akzeptabel.
- P01 kein Urlaub, aber dafür kommt P05 hinzu. Alles noch akzeptabel.
- P06 kommt hinzu. ALARM! Weil P02 bis P05 Urlaub haben.
Okay, noch einfach, weil die Anzahl der Mitarbeiter aufsteigend und zusamenhängend ist.

Jetzt etwas erschwerend mit mehr Mitarbeiter (P01 bis P10)
- P02, P04, P05, P08 = akzeptabel
- P01, P05, P06, P10 = akzeptabel
- P02, P03, P06, P08, P10 ALARM!

Liest sich so doch ganz schön und easy.
Aber es muss ja jetzt ein Vergleich zum Vortag angestellt werden, wer und wieviele hatten Urlaub. Und der nächste Schritt ist, wer hatte gestern Urlaub UND wer davon hat heute Urlaub und wer ist dazu gekommen?
Wir als Menschen sehen sofort:
P06 und P010 hatten gestern schon Urlaub und auch heute Urlaub.
Hinzugekommen sind P02, P03 und P08. Dafür sind weggefallen P01 und P05. Und da lauert ja das nächste Problem, 2 hatten und haben noch Urlaub, 2 entfallen und 3 sind neu hinzugekommen, aber wer von den 3 neuen ist denn jetzt der Übeltäter das der ALARM losgeht, wie soll das denn defeniert werden, an der Form der Nase, am Alter, oder wie?

Kannst du dir in ungefähr vorstellen was das ganze für ein dilemma ist?
Du hast wohl ein nachvollziehbares Problem, aber das so umzusetzen wie es der Mensch gerne haben möchte, ist eine Mammutaufgabe. Und ich habe echt, wirklich keinen blassen schimmer wie das umzusetzen ist.


Bleib erstmal bei der optischen Meldung.
Die Farbliche Hervorhebung hatte ich nur mal so spontan gesetzt, damit Du siehst das da eine Überprüfung stattfindet die sich optisch meldet wenn da was nicht stimmt. Dieses Farb-Chaos kannst und darfst Du natürlich entschärfen, einfach die dementsprechende Formatvorlage abändern.



Gruß
balu

EasyTJ
Beiträge: 38
Registriert: So 20. Nov 2016, 13:48

Re: Urlaubsplaner

Beitrag von EasyTJ » So 11. Dez 2016, 11:05

Hi balu,

wenn es dir nicht so gut geht, dann brauchst du nicht deine Zeit für einen "wildfremden" User opfern - das erwarte ich nicht. Da musst du an DICH denken, oder wirkt das hier wie ne gute Ablenkung bzw Therapie? :)
Naja soooo wildfremd sind wir uns dann ja doch nicht mehr ;)


Das mit den Adressbezügen innerhalb der Formeln habe ich bereits beobachtet, als ich mich auf einem anderen Tabelleblatt befunden habe und er Fehler angezeigt hat, obwohl dies 2 Sekunden vorher noch alles besser aussah. Da habe ich dann geforscht und habe das entdeckt, dass sich die Formel "mitentwickelt" ;).

Uiuiui, du hast schon viel weiter gedacht, als ich es mir überhaupt vorstellen konnte. Das war wieder zu ungenau von mir formuliert. Also die Aussage von mir "anzeigen an wem es liegt" sollte gar nicht so weit gehen. Folgendes war eigentlich gemeint:

Wir tragen im Dezember alle unsere Wünsche für das Folgejahr in den Kalender ein. Wenn alle Wünsche drin sind, gucken wir drauf, ob es passt. Wenn sich nun mehr als 2 gleichzeitig Urlaub gewünscht haben (z.B. in dem Bereich vom 02.03. bis 10.03. durch MA01, MA02, MA10 und MA13), dann soll der Fehler auftauchen. Aber halt nur für die o.g. Mitarbeiter, damit man genau diese 4 Personen ansprechen kann, dass sie ihren Urlaub verschieben. Es soll also gar keine große Veränderung bei der Beurteilung, ob zu viele Urlaub haben oder nicht, stattfinden. Es sollen dann nur Fehler für genau diese 4 Personen ausgegeben werden.

Da ich deine Tabellen weitestgehend nachgebaut habe :), habe ich dafür bereits eine Idee entwickelt - ich füge für die bedingte Formatierung "ZU_viele_Urlaub" eine weitere Bedingung ein.
Aus =T6=1 wird =(T6=1)*(E6=1) für den MA01 bspw.

Habe das bisher noch nicht ausprobiert, da ich zur Zeit noch an einer anderen Baustelle arbeite :)
Edit: Habe es jetzt ausprobiert - es klappt :)


Gruß TIm

P.S.: Habe dir noch die beiden Screenshots für die Namenverwaltung angehängt. So sieht das bei mir aus.
Dateianhänge
Namen.jpg
Namen.jpg (110.92 KiB) 5428 mal betrachtet
Namenverwalten.jpg
Namenverwalten.jpg (46.93 KiB) 5428 mal betrachtet

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Urlaubsplaner

Beitrag von balu » So 11. Dez 2016, 14:49

Hallo Tim,
oder wirkt das hier wie ne gute Ablenkung bzw Therapie?
Jo, dat kann man so sagen.
Und da das für mich alles nicht so extrem schwer ist, belastet mich das auch nicht weiter.

Das mit den Adressbezügen innerhalb der Formeln habe ich bereits beobachtet
Falsch!
Du hast nicht nur beobachtet, sondern was viel wichtiger ist, deine richtige Entschlüsse daraus gezogen. ;-)

Uiuiui, du hast schon viel weiter gedacht, als ich es mir überhaupt vorstellen konnte. Das war wieder zu ungenau von mir formuliert.
Im laufe der Jahre bekommt man bei so einigen Dingen (wenn es um Tabellenkalkultationsprogrammen geht) ein Gespür an was man alles so denken muss. Das ist genau so wie Schach spielen.
Auch wenn Du zu ungenau formuliert hast, so siehst Du mal wie man doch bei so eingen Dingen denken muss. Auch wenn Du es nicht gebrauchen kannst, so verstehst Du jetzt wohl besser wie schwer es manchmal seien kann etwas zu Entwickeln.

Aber halt nur für die o.g. Mitarbeiter, damit man genau diese 4 Personen ansprechen kann, dass sie ihren Urlaub verschieben.
Das ist natürlich eine ganz andere Situation.

Aus =T6=1 wird =(T6=1)*(E6=1) für den MA01 bspw.
Ah! Ich sehe Du hast die Bedingte Formatierungs Logik für Formeln verstanden. Super. :mrgreen:
Ich kann mir aber auch gut vorstellen das das nachtägliche ändern der Formeln in der Bedingten Formatierung ganz schön nervig war. Jede einzelne Zelle in der ersten Zeile beim Urlaub zu ändern.

Aber dafür gibt es auch noch einen nicht sonderlich genialen Trick, aber immer hin ein kleiner Trick.
Ich habe doch "Namen-Formeln" in den Zellen eines Blattes eingegeben. Und das kannst Du auch, wenn Du willst, auch in der Bedingten Formatierung anwenden. Okay, ich weiß das dies an anderer Stelle wieder mehrarbeit bedeutet, es müssen nämlich dementsprechen mehrere Namen dafür erstellt werden, und bei Änderungen jeden Namen dann einzeln behandeln, aber dafür brauchst Du anschlißend keine Formatierung per Hand auf die anderen Monate übertragen.

Anderseits gehst Du ja wohl höchstwahrscheinlich wie folgt vor.
- Die Bedingte Formatierung der Zellen E6 bis S6 einzeln abändern.
- Das Format dieser Zeile auf den gesamten Monat Januar übertragen.
- Dann den Zellbereich E6 bis S36 markieren und die Formatierung auf die anderen Monate übertragen.
- Und zum Abschluß in den Monaten die weniger als 31 Tage haben die überschüssige Formatierung löschen.

Also so hatte ich das früher auch gemacht, und je nach Datei mach ich das auch noch heute so. Aber wenn man auch für die Formeln in der Bedingten Formatierung Namen vergibt, dann lässt sich dieses rumgewusel mit der Übertragung der Bedingten Formatierung einfach umgehen.

Aber wie gesagt, ist nur mal so eine Idee.

Edit: Habe es jetzt ausprobiert - es klappt :)
Kann ich bestätigen.


Der Screenshot für "Namen verwalten" sieht nicht anders aus als in LO 4.2.1.1, trotzdem Danke dafür.

A-propo Screenshot!
Hast Du meine Formel für *FeiertagsFORMEL* tatsächlich wieder geändert, auf das hier?

Code: Alles auswählen

WENNFEHLER(INDEX('Ferien+Feiertage'.U:U;VERGLEICH(U33;'Ferien+Feiertage'.V:V;0));"")
Meine Formel ist doch kürzer, auch wenn nicht sehr viel.

Code: Alles auswählen

WENN(ZÄHLENWENN(FeiertagsDatum;A6);SVERWEIS(A6;FeiertagsListe;2;0);"")
Aber dafür arbeitet meine bestimmt schneller. Denn sie muss nur nach dem gewünschten Datum in einem fest defenierten Datenbereich suchen, und wenn sie nix findet, gibt sie keine Fehlermeldung aus, sondern einen Wahrheitswert FALSCH aus. Dadurch wird dann halt an entsprechende Stelle verzweigt.

Du kennst deine Formel wohl nicht anders. Und deshalb werde ich sie jetzt mal so schreiben das sie jedes Tabellenkalkulationsprogramm versteht, die nicht WENNFEHLER kennt. Damit Du mal siehst wie deine Formel eigentlich nach alter Sitte aufgebaut ist.

Code: Alles auswählen

WENN(ISTFEHLER(INDEX($'Ferien+Feiertage'.$U$1:$U$20;VERGLEICH(U33;$'Ferien+Feiertage'.$V$1:$V$20;0)));"";INDEX($'Ferien+Feiertage'.$U$1:$U$20;VERGLEICH(U33;$'Ferien+Feiertage'.$V$1:$V$20;0)))
WENNFEHLER beinhaltet wohl 2 Funktionen, einmal WENN und ISTFEHLER, aber der eigentliche Aufbau und der Ablauf der Formel ist so zu verstehen wie ich sie jetzt mal dargestellt habe.

AOO kennt WENNFEHLER nicht, also muss man deine Formel so umschreiben wie ich es gezeigt habe. Da ich jetzt nicht den tätsächlichen Zellbereich in deiner Datei kenne, habe ich halt mal den genommen wie zu sehen ist.
Klar hat die Kombination von INDEX & VERGLEICH den Vorteil das man auch nach "links suchen" kann, und nicht so wie bei SVERWEIS wo man nur nach "rechts suchen" kann. Aber nicht immer ist diese Kombination von Vorteil.

Hattest Du nicht mal hier selber Sinngemäß gesagt: "Das die Datei irgendwie langsam geworden ist"?
Und Du wunderst dich?
Dabei liegt die Bremse doch genau hier in deiner Formel drin. Wenn ich mich aber vertue, dann sag mir das bitte schön. Jedoch nicht bevor Du deine selbsterstellte Datei mit dieser Formel, mit meiner unveränderten Datei verglichen hast. Welche von den beiden Dateien ist die schnellere bei DIR, meine oder deine?
Ach ja, würdest Du mal bitte deine selbsterstellte Datei mal hier anhängen können. Danke.



Gruß
balu

EasyTJ
Beiträge: 38
Registriert: So 20. Nov 2016, 13:48

Re: Urlaubsplaner

Beitrag von EasyTJ » So 11. Dez 2016, 18:24

Hi balu,


ich habe deine Tabellen nun nahezu rekonstruiert und in meine übernommen. Habe noch ein zwei Gimmicks eingebaut, die ich beim Stöbern im Internet gefunden habe :).
Auch, wenn das deine Arbeit ist, bin ich schon arg stolz, dass ich alles absolut nachvollziehen kann ;).

Bezüglich der Index-Funktion - ok das habe ich im Hinterkopf. Die Performance ist aber soweit gut und in meinen Augen sieht das toller aus. Wenn es auf dem Arbeitsrechner dann Probleme geben sollte, werde ich das umbasteln!


Was hälst du von der Datei? :)
Dateianhänge
Urlaubskalender.ods
(78.63 KiB) 277-mal heruntergeladen

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Urlaubsplaner

Beitrag von balu » So 11. Dez 2016, 23:01

Hallo Tim,
Auch, wenn das deine Arbeit ist ...
Nun, es ist nicht meine Arbeit die jetzt in DEINER Datei steckt, sondern DEINE Arbeit. :)

... bin ich schon arg stolz, dass ich alles absolut nachvollziehen kann ;).
Und genau das ist sehr wichtig, das zu verstehen wie was funktioniert.

ABER!
Du hat noch einen Fehler im Kalender.
Habe eben gesehen das ich neben der LO 4.2.1.1 noch eine LO 4.3.4.1 habe (so langsam verliere ich den Überblick welche Versionen ich habe, kein scherz), und in beiden tritt ein Fehler in der *KalenderwocheFORMEL* auf.

Fehlernummer ist: Err:511
Fehlername: Fehlende Variable (steht in der Statusanzeige unten)

Deine Formel für die *KalenderwocheFORMEL* lautet.

Code: Alles auswählen

WENN(WOCHENTAG(A5;2)=1;KALENDERWOCHE(A5);"")
Und der Fehler bezieht sich auf KALENDERWOCHE. Dort hast Du vergessen den 2. Parameter anzugeben. Und folglich wäre es so rum richtig.

Code: Alles auswählen

WENN(WOCHENTAG(A5;2)=1;KALENDERWOCHE(A5;2);"")
 
Aufgefallen war mir das, als ich das gespeicherte Jahr 2017 runterstellte auf 2016, da standen dann auf einmal die Fehlermeldungen da.

Bezüglich der Index-Funktion - ok das habe ich im Hinterkopf. Die Performance ist aber soweit gut und in meinen Augen sieht das toller aus.
Nach aussehen darf man nicht immer gehen, es muss Funktionieren, das alleine zählt.

Da wir aber grad wieder bei dieser Formel sind, noch etwas was ich vorhin vergessen hatte zu erwähnen.

In deiner LO Version sieht sie ja so aus.

Code: Alles auswählen

WENNFEHLER(INDEX('Ferien+Feiertage'.A:A;VERGLEICH(A5;'Ferien+Feiertage'.B:B;0));"")
Da aber meine LO Version mit A:A so nicht arbeiten kann, wird sie automatisch in das hier umgewandelt.

Code: Alles auswählen

WENNFEHLER(INDEX('Ferien+Feiertage'.A$1:A$1048576;VERGLEICH(A5;'Ferien+Feiertage'.B$1:B$1048576;0));"")
 
Okay, jetzt denkst Du wohl:

"Das liegt an der LO Version von balu. Also was solls?"

Stimmt ja auch so weit. Jedoch solltest Du, - nein- , Du musst dir merken das die Angabe A:A nämlich eins bedeutet: GANZE SPALTE!
Und genau das kann zu einem Problem führen, da GANZE SPALTE! genau das aussagt wie es da steht, nämlich: GANZE SPALTE!

Du verstehst noch nicht so recht?

Okay, hier kommt die Auflösung.

Die maximale Anzahl an Zeilen pro Spalte beträgt ja wohl 1.048.576 Zeilen. Und das ist mehr als 1 Million.
Merk dir was da steht, es sind über 1 Million Zeilen, nicht ein paar wenige sondern mehr als 1 Million!

Und das bedeutet wiederum, das der Suchbereich bei VERGLEICH die Millionen Zeilen überschreitet. Daraus folgt, das von der ersten bis hin zur allerletzten Zeile gesucht wird, also von B$1 bis hin zu B$1048576.

Und nun überleg mal was Calc wohl macht, wenn es bis zur Zelle B15 im Blatt *Ferien+Feiertage* keinen Treffer gefunden hat (das ist ja die letzte Zelle wo von dir ein datum eingetragen ist)?


Genau!

Calc sucht Erbarmungslos von Zelle B16 bis B1048576 immer schön weiter nach dem gewünschten Datum, wenn es bis zu B15 nix gefunden hat. Und Du weisst schon was das bedeutet, wenn Calc das nicht nur ein einziges mal macht, sondern 366 mal, so viele Tage wie der Kalender hat.

Und jetzt glaub ja nicht das ich mir da irgendetwas ausgedacht habe.

Nein!

Diese Schreibweise von A:A für GANZE SPALTE! stammt ja von Excel. Aber selbst bei Excel wird bei so manchen Formeln und Dateien von dieser Schreibweise dringend abgeraten, weil:

"Das führt sonst zu einem Absturz. Excel verabschiedet sich, Schluß, Aus, Feierabend!"

Das ist ein Sinngemäßes Zitat welches ich auf einer Excel-Seite gefunden hatte.
Also wenn selbst die schon davor warnen, dann muss ja wohl was dran sein. Oder etwa nicht!?


So, und nun eine alternative, besser gesagt ein Kompromiss, aus deiner und meiner Formel.

Code: Alles auswählen

WENN(ZÄHLENWENN($'Ferien+Feiertage'.$B$5:$B$15;A5);INDEX($'Ferien+Feiertage'.$A$5:$A$15;VERGLEICH(A5;$'Ferien+Feiertage'.$B$5:$B$15;0));"")
 
Mein Teil zu dieser Formel ist ZÄHLENWENN.
Dein Teil ist INDEX & VERGLEICH.
Und mit dieser Formel bist Du bestens gewappnet, da sie unter anderem die Systemresourcen schont und schnell ist. Glaub es mir bitte.

Was hälst du von der Datei?
So langsam wirds besser. :)



Gruß
balu

EasyTJ
Beiträge: 38
Registriert: So 20. Nov 2016, 13:48

Re: Urlaubsplaner

Beitrag von EasyTJ » Mo 12. Dez 2016, 16:57

Hey balu,

ja super - die Zählenwenn/Index-Formel von dir werde ich sofort einbauen! Sehr cool.

Weswegen ich die Index-Formel zunächst belassen habe, weil ich mal gesehen habe, dass man Spalten und Zeilen alles unterhalb von Zeile X und rechtsseitig von Spalte y "löschen" kann, welche man nicht mehr braucht. Dadurch werden die Blätter übersichtlicher. Wie das genau geht, weiß ich leider gerade nicht. Ich dachte, dass er dann bei der Index-Funktion nur bis dahin rechnet.


Bezüglich der KalenderwocheFORMEL: Das mit dem zweiten Parameter ist mir beim Einfügen in meine Datei auch aufgefallen. Allerdings zeigt er mir bei meiner LO-Version einen Fehler an, wenn ich deine Formel nutze. Habe dann ein wenig recherchiert und herausgefunden, dass bei meiner Version nur das Datum benötigt wird.
Habe die Datei dann auch mal auf dem Arbeitsrechner (mit LO-Version 3.5) ausprobiert - dort verlangt er den zweiten Paramter :).

Hast du denn auch meine Gimmicks entdeckt? Habe die LO-Funktion "Gültigkeit" ein paar Male eingebaut :). Auch das Spalten fixieren habe ich genutzt :lol:

Ich denke Mal, dass der Kalender - bis auf ein paar kleine Optimierungen - als fertig anzusehen ist. Vielen vielen Dank!



Was meinst du, hast du noch Lust, mir bei dem nächsten Schritt zu helfen? :)
Folgendes würde ich gerne noch einbauen:
Bei der Arbeit gibt es vier Abteilungen. Die Abteilungen arbeiten in Schichten (Früh, Spät, Nacht, Mittellange Nacht, Lange Nacht, Tagesschicht, Frei). Der Schichtplan einer Abteilung wiederholt sich alle vier Wochen und ist fortlaufend das gesamte Jahr - egal ob Ferien oder Feiertag o.Ä.

Nun wäre es interessant, wenn man die Abteilung eingibt, und er für das ausgewählte Jahr die jeweiligen Schichten neben dem Datum anzeigt. Dazu soll dann noch ausgerechnet werden, was der jeweilige Urlaubswunsch an Urlaubsstunden (wir rechnen da in Stunden) kostet.

Ist das machbar? Und hast du noch Lust und Geduld? ;)


Gruß Tim

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Urlaubsplaner

Beitrag von balu » Mo 12. Dez 2016, 22:09

Hallo Tim,
ja super - die Zählenwenn/Index-Formel von dir werde ich sofort einbauen! Sehr cool.
Freut mich wirklich zu hören. :)

Hast du denn auch meine Gimmicks entdeckt? Habe die LO-Funktion "Gültigkeit" ein paar Male eingebaut :)
Sorry, aber nein habe ich noch nicht. Werde heute auch kein Office mehr starten.

Auch das Spalten fixieren habe ich genutzt :lol:
Ja! Das war unübersehbar. ;-)

Allerdings zeigt er mir bei meiner LO-Version einen Fehler an, wenn ich deine Formel nutze. Habe dann ein wenig recherchiert und herausgefunden, dass bei meiner Version nur das Datum benötigt wird.
Habe die Datei dann auch mal auf dem Arbeitsrechner (mit LO-Version 3.5) ausprobiert - dort verlangt er den zweiten Paramter :).
Interessant für mich, aber wohl auch sehr interessant für dich. Du hast da jetzt die erste Erfahrung gemacht mit unterschiedlichen Office-Versionsnummern. Deshalb empfehle ich dir, wenn möglich, besorg dir eine Portable Version von LO für deinen Rechensklaven der der Version auf dem "Firmenrechner" entspricht, so kanst Du immer gegentests machen. Das war ja jetzt nur eine kleinigkeit. Aber so weit ich weiß kennt die LO 3.5.x.x kein WENNFEHLER, und das ist dann schon das nächste Problem was auf dich lauern kann. Es sei denn, der "Firmenrechner" hat eine angepasste LO Version.

Ich denke Mal, dass der Kalender - bis auf ein paar kleine Optimierungen - als fertig anzusehen ist.
Kann man so sehen.

Was meinst du, hast du noch Lust, mir bei dem nächsten Schritt zu helfen?
[...]
Bei der Arbeit gibt es vier Abteilungen. Die Abteilungen arbeiten in Schichten (Früh, Spät, Nacht, Mittellange Nacht, Lange Nacht, Tagesschicht, Frei). Der Schichtplan einer Abteilung wiederholt sich alle vier Wochen und ist fortlaufend das gesamte Jahr - egal ob Ferien oder Feiertag o.Ä.
Nop! Keine Lust mehr! :?

Und weißt Du auch warum?

Weil das wieder ein elendig langes Thema wird. Eigentlich hätte ich dich sofort von Anfang an auf einen anderen Thread in einem anderen Forum verweisen sollen, der fasst alles wichtige hier besprochene behandelt hat. Jetzt aber mit so einem Schichtsystem hier direkt weiterzumachen, dazu habe ich wirklich keine Lust mehr. Denn diesmal verweise ich dich auf einen anderen Thread in einem anderen Forum, der eigentlich genau dies Thema behandelt. Und warum soll ich das dort erarbeitete hier noch mal alles auftischen?
Befasse dich bitte selber intensiv mit diesem Thread.

Ich sags dir gleich vorweg; dein Wunsch lässt sich wohl realisieren, so lange da ein Wiederholungsschema existiert, aber das Formeltechnisch umzusetzen ist eine ganz andere Liga als das was bisher gewesen ist. Die dortigen Formeln zu verstehen, besser gesagt die einzelnen Funktionen, ist wirklich ein ganz anderes Thema. Damit steigst Du so gesehen von der Kreisliga zumindest in die Verbandsliga auf.

Viel Spaß und Erfolg damit. :)


Für mich ist jetzt hiermit dieser Thread erledigt.
Falls Du mit dem anderen Thread im anderen Forum nicht weiterkommst, dann mach dazu hier einen neuen Thread auf, aber führe dazu diesen hier nicht weiter, ist besser und übersichtlicher. ;-)



Gruß
balu

Mondblatt24
* LO-Experte *
Beiträge: 3376
Registriert: Fr 3. Mär 2017, 17:12

Re: Urlaubsplaner

Beitrag von Mondblatt24 » Mo 13. Mär 2017, 09:19

Hallo,

besser Spät als nie.


Gruß Mondblatt24
Dateianhänge
Urlaub 2.0.ods
(319.66 KiB) 300-mal heruntergeladen
Win 11 (x64) ▪ LO 25.8.1.1 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten