Ich habe eine Frage zur Excel Zeitefassung und der WENN-DANN-Funktion?
Hallo, ich möchte unter Excel eine Zeiterfassung erstellen. Klappt im Grunde auch ganz gut, allerdings hakt es gerade etwas. In Spalte C3 trage ich den Arbeitsbeginn ein, z.B. 7:00 Uhr. Spalte D3 enthält das Arbeitsende, z.B. 13:00. In E 3 steht dann die Gesamtstundenzahl, z.B. hier 5,00.
Pausenzeiten stehen mir wie folgt zu, und sollten automatisch abgezogen werden. Ab 3 Stunden 15 Minuten Pause, ab 6 Stunden 30 Minuten Pause. Ich habe folgende Formel, mit der ich auch gute Ergebnisse erziele.
=WENN(E3>5,99;E3-0,75;E3-0,25)*ODER(WENN(UND(E3<6;E3>2,99);E3-0,25;E3))
Excel zieht mir damit bei mehr als 6 Stunden diese 45 Minuten ab, bei weniger als 6 Stunden aber auch nur 15 Minuten. Das ist perfekt.
ABER:
Wenn ich weniger als 3 Stunden arbeite, soll Excel mir eben auch keine 15 Minuten Pause abziehen. Leider klappt das aber nicht, er zieht demnach auch schon unter 3 Stunden Arbeit 15 Minuten ab! Warum nur? Ich bin verzweifelt.
5 Antworten
=WENN(E3>5,99;E3-0,75;WENN(E3>3;E3-0,25;E3))
Die Funktion sollte eigentlich Funktionieren, anzumerken wäre allerdings, dass das Ergebnis wie folgt aussehen kann: 6,5. Dies bedeutet dann 6 1/2h sprich 6h 30 min.
Lg Tobi
also wenn du mehr als 6h arbeitest bekommst 45 min, wennst mehr als 3 arbeitest bekommst 15 minuten. also kannste den wert von 30 min weglassen, oder?
machs doch so -> =WENN(E3>=6;45;WENN(E3>=3;15;0))
Auch wenn ich oben die Lösung schon erhalten habe, trotzdem danke für die Bemühung.
Ich habe es auch nochmal mit deinem Lösungsvorschlag versucht, aber dann erscheint da leider als Wert "0".
Es liegt an der wenn dann Bedingung. Du hast da geschrieben, dass wenn e3 > 5,99 dann 45 Minuten abziehen, sonst (und das dann even auch bei < 3 Std.) 15 Minuten abziehen. Du brauchst eine verschachtelte Bedingung. Beim sonst musst du in Wenn Formel beginnen und dann bei > 2,99 15 min. Abziehen und sonst nichts.
Danke für die Antwort.
Habe jetzt die Formel so umgestellt.
=WENN(E3>2,99;E3-0,25;E3)*ODER(WENN(E3>5,99;E3-0,75;E3))
Jetzt macht er es so, dass bei weniger als 3 Stunden nichts und bei mehr als 3 Stunden eben 15 Minuten abgezogen werden.
ABER:
Er zieht auch bei mehr als 6 Stunden jetzt "nur" 15 Minuten ab.
AAArrrggghhh.... ;-)
Zum Glück hast du die Lösung nun ja schon. Wie ich es auch geschrieben hatte müssen die Bedingungen ineinander verschachtelt sein. Das Problem mit deiner Formel ist, dass von links nach rechts abgearbeitet wird. Wenn du nun 6 Stunden hast und in deine erste Bedingung gehst die wahr ist, da 6 > 2,99. Somit werden hier gleich die 15 Minuten abgezogen.
=WENN(D3-C3>6/24;D3-C3-30/24/60;WENN(D3-C3>=3/24;D3-C3-15/24/60;D3-C3))
Lass mich einmal deine Formel auseinandernehmen. Es handelt sich um ein Produkt aus:
1.) WENN(E3>5,99;E3-0,75;E3-0,25)
und
2.) ODER(WENN(UND(E3<6;E3>2,99);E3-0,25;E3))
Fangen wir mit 2.) an:
ODER ist eine Boolsche Funktion, die WAHR oder FALSCH zurückliefert. Unabhängig, also was du ausrechnest, hast du am Ende Falsch, wenn der Wert in der ODER-Funktion 0 ist, ansonsten WAHR.
Zum Produkt: Das Produkt einer Zahl mit "WAHR" liefert die Zahl, das Produkt mit "FALSCH" liefert 0. Der Inhalt in ODER ist der Wert "E3-0,25" oder der WERT "E3", also angenommen immer >0.Dadurch übernimmst du sommit immer den Wert aus 1.)
Kommen wir zu 1.)
Hier hast du ausschließlich abhängig von 6h Arbeitszeit einmal -0,75 bzw. -0,25 als Berechnung.
Was du also suchst ist:
<PSEUDOCODE>
Formel = WENN(<3; Teilformel 1;Teilformel 2);
Teilformel 1 beinhaltet die Berechnung, falls der Wert <3 ist.
Teilformel 2 hat zwingend den Wert >=3. Dort musst du also noch überprüfen, ob der Wert < oder >= 6 ist.
Teilformel 2 = Wenn(<6; Teilformel 3; Teilformel 4)
Teilformel 3 beinhaltet die Berechnung zwischen 3 und 6
Teilformel 4 beinhaltet die Berechnung größer 6
Eieieiei... :-)
Ja, das ist jetzt schon höhere Mathematik. Da verlässt es mich komplett. :-)))
Aber ich sage trotzdem tausend Dank für die Antwort.
Habe ja jetzt die Lösung schon erhalten. ;-)
Habe ich gesehen.
Ich habe absichtlich keine Lösung geschrieben, weil ersichtlich ist, dass du nicht weißt, was du geschrieben hast und deine ursprünglicher Versuch Kraut und Rüben war. Die Lösung alleine bringt nichts, wenn du nicht verstehst, was du da eingegeben hast.
Ja, ich bin blutiger Anfänger und habe versucht aus altem Schulwissen, der Hilfefunktion von Microsoft und logischem Denken zu handeln.
Klappte ja auch eigentlich sehr gut.
Dass die ODER-Funktion natürlich murks war, ist mir erst jetzt klar geworden. *schäm*
@ McFly: kein 'schäm', da gibts hier gelegentlich ganz anderen Murks! 'Stolz', dass soweit gekommen und Korrektur=Durchblick!
Wie sonst soll man altes Schulwissen reaktivieren als durch Trial & Error!
Ja super, das hat einwandfrei geklappt.
Vielen vielen Dank!!!