Nachschichtzulage ausrechnen (Excel 2000)

  • Moin Leutz,

    ich habe da ein kleines Problem, wo ich mir gerade die Zähne dran ausbeiße.

    Und zwar soll mir meine Excel-Tabelle die Nachtschichtzulage ausrechnen, die ich bekomme wenn ich Beispielsweise von Tag A: Beginn 16Uhr bis Tag B Ende: 1Uhr gearbeitet habe.

    Ok, soweit so gut. Die Formel für die Tagübergreifende Gesamtstunden Berechnung habe ich hin bekommen.
    Die Tabelle soll mir aber jetzt noch ausrechnen das ich halt von 22Uhr bis Schichtende (in diesem Beispiel bis 1Uhr), also für 3Stunden Nachtschichtzulage bekomme.

    Kurz um, die Tabelle soll checken das von 1Uhr Nachts bis 22Uhr des Vortages, also als Ergebnis 3,00 Stunden raus kommt.
    Diese Ergebnis (also die 3,00Stunden) benötige ich später um mir meine Nachtschichtzulage auszurechnen.

    Aber das bekomme ich nicht hin... Es kommt alles mögliche raus....aber nicht 3Stunden :(
    Es liegt nicht an der Zellenformatierung...wie ich die später formatieren muss weiß ich.
    Ich krieg die korrekte Formel dazu nicht auf die Kette :oops: ...das was da jetzt drin steht (0+D6) ist so oder so Mist, hatte da nur was ausprobiert.

    [Blockierte Grafik: http://www.postimage.org/Pql6i1i.jpg]


    Hat da einer ne Idee?
    Wenn ja, ich packe mal die Datei mit an diesen Beitrag...dann ist evtl. besser vorstellbar was ich meine. ->>> KLICK <<


    Bin für jeden Tipp dankbar :)


    Greez
    Youkai

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress, WoltLab & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

    Wenn du Fragen hast, kannst du dich gerne jederzeit an @Maximilian Rupp wenden

    Hinweis:

  • Ganz ehrlich, ich hab auch ne ganze Weile geknobelt :D

    Versuchs mal (für Dienstag angewendet) mit dieser Formel:

    Code
    =WENN(UND(E5<=0,999988425925926;ODER(E6>22*(1/24);E6<E5));WENN(E6>22*(1/24);E6-22*(1/24);WENN(E6=0;2*(1/24);E6+2*(1/24)));"kein Zuschlag")

    Das funktioniert aber nur, wenn du nie nach 22 Uhr zu Arbeiten anfängst - sonst rechnet die Formel auf 22 Uhr zurück. Hab leider keine Zeit das zu perfektionieren ;)

  • ...das kann so nicht funktionieren.

    Du formatierst deine zu berechnenden Zellen nur im Zeitformat als Stunden. Folglich hat Excel gar keine Chance mitzukriegen, dass ein Tageswechsel erfolgt und kann daher folgerichtig auch nicht 3 Stunden als Ergebnis liefern.

    Wenn du Excel aber in der Erfassung der Uhrzeit die Information mitgibst, um welchen Tag es sich handelt, dann kann Excel durch eine simple Subtraktion die korrekte Stundenzahl berechnen - das ist eigentlich ganz simpel. Ich habe dir die korrigierte Datei mal ->hier<- zum Download gestellt.

    Es tut übrigens gut, mal einen Fragesteller zu haben, der einem nicht nur vollständig erklären kann, wo das Problem liegt, sondern auch noch eine Beispieldatei beilegt; so ist eine rasche Antwort möglich. :top2:

    Gruß,
    Tunarus

  • Danke euch beiden für die Mühe.

    Aber beide Vorschläge kann ich so nicht gebrauchen. Ich hänge meine Tabelle (wie sie werden soll) nochmals im ganzen an.
    Gehaltsangabe ist natürlich ein Dummy...geht ja keinen mein STD-Lohn was an ^^ >> KLICK <<

    Ich habe im übrigen eine Formel jetzt drin, wo die Tabelle merkt ab wann sie berechnen soll.
    Leider hat diese Formel auch so ihre Tücken.
    Arbeite ich nur z.B. bis 23Uhr merkt die Tabelle nicht das mir eine Stunde NSZ berechnen soll.
    Soll heißen, bei meiner Formel MUSS ich bis nach 24Uhr arbeiten, sonst rechnet die Bullshit aus.

    So...in kurzen Stichworten, was die Tabelle können soll/schon kann...so wie sie ist...außer den Formeln BITTE nix dran verändern!!!!!!

    - Tagübergreifende Schicht erkennen = klappt
    - Erkennen das ab 22Uhr bis Schichtende NSZ Berechnung erfolgen soll = klappt nur bedingt (Bsp: 16:00-01:00 = 3,00Std NSZ klappt) (Bsp: 16:00-23:00 = 0,00Std NSZ kommt Bullshit...sollte eigentlich 1,00Std NSZ raus kommen"

    PS an Tunarus: Danke fürs Lob...aber so ganz richtig scheine ich meine Frage ja trotzdem nicht gestellt zu haben...sonst hättet ihr beide mir glaub ich eine andere Formel zur Verfügung gestellt :lol:

  • Zitat von Youkai;680336

    - Erkennen das ab 22Uhr bis Schichtende NSZ Berechnung erfolgen soll = klappt nur bedingt (Bsp: 16:00-01:00 = 3,00Std NSZ klappt) (Bsp: 16:00-23:00 = 0,00Std NSZ kommt Bullshit...sollte eigentlich 1,00Std NSZ raus kommen"

    Klappt mit meiner obigen Formel aber doch!

    Habe dir die Datei mal angehängt, ist vielleicht besser als die Formel so zu posten.

    Edit: Anhang entfernt

  • Zitat von Youkai;680336

    PS an Tunarus: Danke fürs Lob...aber so ganz richtig scheine ich meine Frage ja trotzdem nicht gestellt zu haben...sonst hättet ihr beide mir glaub ich eine andere Formel zur Verfügung gestellt :lol:



    ...lag nicht an dir, sondern an meinem Unvermögen richtig zu lesen und zu verstehen. Nimm Rücksicht auf einen alten Mann :D

    Herzlichen Gruß,
    Tunarus

  • FA-T:

    Ja ok, habe meine Tabelle jetzt mal mit Deiner Formel umgesetzt (alle Angaben Real...außer Gehalts/Zulagenangaben eben...aber das sagte ich ja schon) -> >> KLICK <<

    Es scheint ja tatsächlich soweit zu funktionieren, auch wenn ich zugeben muss das mir beim Anblick Deiner Formel schwindelig wird 8O
    Allerdings schade das mit dem 22Uhr was Du sagtest. Ich meine, ich werde wahrscheinlich wohl nie um die Uhrzeit anfangen...aber wenn.... :D
    Ok, ich will mal nicht unverschämt werden :oops:

    Ich bin froh, das Deine Formel soweit für meine Bedürfnisse funktioniert und danke Dir dafür :)


    Tunarus:

    Ok, einverstanden.
    Gnadenschuß ist aber noch nicht nötig oder?! :D

    Ok, kleiner Scherz ^^


    Greez
    Youkai

  • Okay, eine kleine Erklärung zu der Formel:
    Ich rechne nicht mit der Uhrzeit, sondern rechne die Uhrzeit in eine Dezimalzahl um. Ein voller Tag ist "1,0" in Dezimal, 0:00 Uhr entspricht "0", 23:59:59 (23:59 Uhr und 59 Sekunden) entspricht folglich "0,999988425925926" (wie es in der Formel auch vorkommt).
    D.h. um mit Uhrzeiten zu rechnen die volle Stunden betreffen, rechnest du einfach die "1,0" für einen vollen Tag und teilst diese durch die Anzahl der Stunden die ein Tag hat (24). Das Ergebnis multiplizierst du mit der Anzahl der Stunden mit denen du rechnen willst (z.B. 22:00 Uhr). Daraus ergibt sich dann folgende kleine Formel:
    22*(1/24).

    Sicherlich kann man die Formel noch umbauen und perfektionieren, aber das kriegst du sicherlich auch selber hin. Einen Ansatz hast du ja jetzt ;)

  • So, Sorry das ich erst jetzt antworte, aber war ein paar Tage nicht am PC...keine Zeit gehabt für den Taschenrechner ^^

    Zitat

    Ich rechne nicht mit der Uhrzeit, sondern rechne die Uhrzeit in eine Dezimalzahl um. Ein voller Tag ist "1,0" in Dezimal, 0:00 Uhr entspricht "0", 23:59:59 (23:59 Uhr und 59 Sekunden) entspricht folglich "0,999988425925926" (wie es in der Formel auch vorkommt).

    Ja sowas in der Richhting hatte ich mir schon gedacht als ich diese Never ending wollende Zahl gesehen habe.
    Allerdings vermute ich mal, ist diese komplizierte Umrechnung in eine Dezimalzahl nur von Nöten weil ich meine Zellen in der Tabelle ins Uhrzeit-Format formatiert hatte...richtig?!

    Zitat

    Das Ergebnis multiplizierst du mit der Anzahl der Stunden mit denen du rechnen willst (z.B. 22:00 Uhr). Daraus ergibt sich dann folgende kleine Formel:
    22*(1/24).

    Hihi...ja das mit der "*24" oder auch eben "/24" den Trick kenne ich schon länger. Als ich damals die Stundentabelle angefangen hatte stand ich auch vor dem Problem das die Eingabe als Uhrzeit erfolgen sollte, das Ergebnis dann aber z.B. für 10:30 Stunden gearbeitet = 10,5 Stunden sein sollte.
    (So, den Satz hätte ich kürzer fassen können wenn mir um 1:44Uhr Nachts der Name für diese Zahl einfallen würde) :lol:
    Das heißt, bevor ich den Trick mit dem "*24" kannte, kam mir als Ergebnis dann immer so Dinger raus, bei z.B. von 6:00-17:00Uhr = 0,36 oder sowas :|

    Zitat

    Sicherlich kann man die Formel noch umbauen und perfektionieren, aber das kriegst du sicherlich auch selber hin. Einen Ansatz hast du ja jetzt

    Ja, evtl. wenn ich wieder normal in der Frühschicht arbeite und dann Nachmittags am PC hocke.
    Solange ich immer erst Nachts so wie heute nach Hause komme, dann raffen meine Gehirnwindungen die Perfektionierung Deiner Formel nimmer :lol:

  • Zitat von Youkai;681527

    Ja sowas in der Richhting hatte ich mir schon gedacht als ich diese Never ending wollende Zahl gesehen habe.
    Allerdings vermute ich mal, ist diese komplizierte Umrechnung in eine Dezimalzahl nur von Nöten weil ich meine Zellen in der Tabelle ins Uhrzeit-Format formatiert hatte...richtig?!

    Die Umrechnung bräuchtest du nicht, wenn du deine Zeitangaben ebenfalls in Dezimal machen würdest. Aber das sähe ja nicht so schön aus ;)

    Zitat von Youkai;681527

    Ja, evtl. wenn ich wieder normal in der Frühschicht arbeite und dann Nachmittags am PC hocke.
    Solange ich immer erst Nachts so wie heute nach Hause komme, dann raffen meine Gehirnwindungen die Perfektionierung Deiner Formel nimmer :lol:

    Versuch das mal, ich habe gerade leider auch keine Zeit das noch zu perfektionieren :D

  • :D:D:D

    Hübsch!

    Deine Tabelle rechnet leider absolut richtig! Sie tut GENAU das, was Du von ihr verlangst!

    Eine Stunde hat in Excel einen Zahlenwert von 0,04166667. Das ist nämlich genau 1 : 24. Mit anderen Worten: 1/24 Tag.

    Du musst also nur D6 * 24 nehmen, dann klappt es soweit schon mal:
    =WENN(D6>D5;0;WENN(D6<D5;0+(D6*24)))

    AAAber

    "(0+D6)" ist, wie Du ja selber schon schreibst, Kappes. Das wäre ja ab 0:00 Uhr, Du willst es ja aber ab 22:00 Uhr...
    (Nach Deiner Formel wäre bei Dienstschluss um 23:59 der Nachtzuschlag ja noch "0"...
    :cool:

    Also der Reihe nach:

    Es gibt 3 Fälle:

    1. Dienstschluss ist vor 22:00 > kein Nachtzuschlag
    2. Dienstschluss ist nach 22:00, aber noch vor 00:00 Uhr
    > Nachtzuschlag ab 22:00 Uhr
    3. Dienstschluss nach 00:00 Uhr
    > Nachtzuschlag ab 22:00 Uhr

    22:00 Uhr hat den Zahlenwert (1 : 24) * 22

    Fall 1:
    =wenn(und(D6>D5;D6<((1/24)*22));0.....

    (wenn Dienstschluss größer als Dienstbeginn und Dienstschluss vor 22:00 Uhr); dann "0"

    Fall 2:
    =wenn(D6>D5)....
    (Fall 1 braucht hier nicht noch mal abgehandelt werden, das steht ja dann in der Formel davor!)

    Fall 3:
    =wenn(D6<D5)
    (Aber auch Fall 3 brauchen wir AUCH gar nicht, denn er bleibt ja als einziger übrig! Also kommt gleich das

    SONST ....

    Ja, aber NICHT 0+(D6*24), "0+" is ja Unsinn, 0 + 1 is ja das selbe wie 1, und wir wollen ja nicht ab 0:00, sondern ab 22:00!
    Nu sind es von 22:00 bis 00:00 ja meistens ziemlich genau 2 Std...
    :cool:

    SONST lautet also schlicht: (D6*24)+2 :p

    Zusammen ergibt das die freundliche Formel:
    =WENN(UND(D6>D5;D6<((1/24)*22));0;WENN(D6>D5;(D6-(1/24)*22)*24;(D6*24)+2))

    Alles klar? ;)

    Rabe

    Computer setzen logisches Denken fort!
    Unlogisches auch....

  • FA-T:

    Zitat

    Die Umrechnung bräuchtest du nicht, wenn du deine Zeitangaben ebenfalls in Dezimal machen würdest. Aber das sähe ja nicht so schön aus ;)

    Genau so isses ^^

    Zitat

    Versuch das mal, ich habe gerade leider auch keine Zeit das noch zu perfektionieren :D

    Ja das habe ich heute mal versucht. Aber was soll ich sagen...mhh...ok, der Reihe nach...(der Versuch sie zu verbessern fand statt, bevor ich "ravenheart`s" Beitrag gelesen hatte)

    - Die Never Ending-Zahl hatte ich gegen "24*(1/24)" ausgetauscht = scheint/schien auch zu funktionieren
    - Dann wollte ich die Formel indes ändern, das ich eine Zelle habe wo ich eingebe ab wann die NSZ gezahlt wird. Also machte ich eine Zelle wo ich eingegeben hatte ab wann die Nachtschicht beginnt. Diese Zelle fummelte ich dann noch in Deine Formel rein...in diesem Fall war es "Y18"
    Die Änderung sah dann wie folgt aus:

    Aus

    Code
    =WENN(UND(D4<=0,999988425925926;ODER(D5>22*(1/24);D5<D4));WENN(D5>22*(1/24);D5-22*(1/24);WENN(D5=0;2*(1/24);D5+2*(1/24)));0)*24

    wurde

    Code
    =WENN(UND(D4<=24*(1/24);ODER(D5>Y18*(1/24);D5<D4));WENN(D5>Y18*(1/24);D5-Y18*(1/24);WENN(D5=0;2*(1/24);D5+2*(1/24)));0)*24

    = Aber dieser Versuch schlug absolut fehl -.-
    Der Grund dafür liegt wohl darin, das die Formel ja dann wieder Wissen müsste, wie viel Stunden von Y18 bis 24Uhr vergehen. Und das auch noch in die Formel fummeln habe ich dann mal absolut nicht auf die Kette bekommen.
    Denn meine Excel-Kenntnisse bei solch großen und komplizierten Formeln hören dann ganz schnell auf.
    Ich habe echt schon große Schwierigkeiten durch Deine Formel durch zu blicken. Soll heißen, wenn ich am Ende Deiner Formel bin, habe ich schon wieder vergessen wofür der Anfang der Formel ist 8O :oops:


    ravenheart:

    Zitat

    Alles klar? ;)

    Ganz ehrlich?! Im Moment qualmt mir so die Rübe...darf ich über Deine Formel noch ein paar Tage nachdenken? :oops:

    Ein D I C K E S Danke trotzdem schonmal für Deine Formel :)


    Greez
    Youkai

  • :lol: ...ja klar...

    Hier zum besseren Verständnis noch mal "zerlegt" mit Erläuterung:

    =WENN( UND( D6>D5; D6<((1/24)*22) ) ;0

    Wenn beides zutrifft:
    D6>D5
    (Dienstschluss größer als Dienstbeginn (Schluss also VOR 0:00 Uhr)
    und
    D6<((1/24)*22))
    (Diestschluss vor 22:00 Uhr (1/24*22 = 22:00 Uhr!))
    Dann ist die Zahl der anrechenbaren Nachtstunden = 0

    ;WENN( D6>D5; (D6- (1/24)*22) *24

    Wenn Dienstschluss größer als Dienstbeginn
    (das greift jetzt NUR für den Dienstschluss zwischen 22:00 und 23:59, denn vor 22:00 Uhr greift ja schon der obige Teil!)

    dann nimm den Dienstschluss (z.B. 23:00)
    und ziehe 22:00 Uhr ab (bleibt: 1 Stunde)
    (*24 macht nur aus den Exel-Zeiteinheiten volle Stunden!)
    Sonst:

    ;(D6*24)+2))

    das greift erst, wenn beide vorherigen Fälle (vor 22:00 und zw. 22:00 und 23:59) NICHT erfüllt waren:
    In dem Fall liegt der Dienstschluss ja ab 0:00 Uhr und die anrechenbaren Nachtstunden berechnen sich ganz simpel.

    Dienstschluss (z.B. 3:00 Uhr), also 3,
    (*24 wieder nur, damit es Stunden und nicht Zeiteinheiten sind!)
    plus 2 Stunden (nämlich 22:00 bis 0:00). Zusammen 5.

    Is doch eigentlich ganz einfach, oder?

    Rabe

    Computer setzen logisches Denken fort!
    Unlogisches auch....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!