Pausen abziehen
#1
DaherHallo!
Das Arbeitszeitgesetz sieht ja 30min Pause bei einer Arbeitszeit über 6h vor, 45min Pause ab iner Arbeitszeit von 9h.
Nun soll ich auf Arbeit unsere "Stundenabrechnungstabelle" ein wenig auf Vordermann bringen.
Enthalten sind bislang Spalten für Arbeitsbeginn und -ende und Pausendauer, jeweils als hh:mm formatiert. Zum Schluß wird einfach Arbeitsende-Arbeitsbeginn-Pausendauer berechnet und man erhält so die Arbeitszeit:


Code:
=(Arbeitsende-Arbeitsbeginn-Pausendauer)*24

Als Standardzahl formatiert, gibt Excel dann hier die Arbeitszeit als dezimale Zahl aus.

Nun möchten unsere Büromiez...äh....unsere ehrenwerten Damen aus der Lohnbuchhaltung Angel  das gerne ändern und das Arbeitszeitgesetz ins Spiel bringen wollen. Das Arbeitzeitgesetz besagt ja,daß man ab 6h Arbeitsdauer 30min Pause hat, ab 9h 45min Pause.  Nun, das mit einer Wenn-Formel auszurechnen,wäre nicht das Problem.  Das Problem ist,daß längere Pausen als erlaubt in tatsächlicher Länge abgezogen werden sollen, bei kürzeren Pausen aber auf jeden Fall die gesetzlichen Pausenlängen.

Die einfachste Methode wäre es vielleicht, denjenigen, der die Tabelle ausfüllen soll, einfach statt der Pausenzeit die Zeit eintragen zu lassen, die er/sie "überzogen" hat und die von der Wenn-Formel abzuziehen. Aber ich fürchte, das würde wohl zu sehr dazu verleiten, die Pausenzeiten zu frisieren.
Daher bräuchte ich eine Formel,die im Grunde folgendes macht:
a) Arbeitsende-Arbeitsbeginn errechnen und daraus die zustehenden Pausenzeiten bestimmen (geht über eine Wenn-Formel)
b) Wenn die eingetragene Pausenzeit >erlaubtes Limit ist a),dann nimm nicht die gesetzlichen Zeiten,sondern zieh die tatsächlichen Zeiten ab. 

Hat jemand eine Idee, wie man sowas optimalerweise in eine einzelne Formel unterbringen kann ?  Im privaten Umfeld würde ich wohl einfach eine "unsichtbare Hilfszelle" nutzen, aber darauf möchte ich gerne verzichten.
Top
#2
Pause: =MAX(VERWEIS(Ende-Beginn;{0.6.9}/24;{0.30.45}/1440);manuellerPauseneintrag)

Falls bei 6:01 statt 30 nur 1 Minute(n) abgezogen werden soll (wofür ich immer plädiere), melde Dich. Die meisten anderen sehen das aber nicht so, wie ich.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#3
Hallo L., bist du sicher, dass das so soll..? 

Arbeitsblatt mit dem Namen 'Tabelle1 (2)'
ABCDE
1TagvonbisPauseman Eingabe
2Mo 05.06.20177:0016:000:30
3Di   06.06.20179:0018:000:45

ZelleFormel
D2=MAX(VERWEIS(C2-B2;{0.6.9}/24;{0.30.45}/1440);E2)
D3=MAX(VERWEIS(C3-B3;{0.6.9}/24;{0.30.45}/1440);E3)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Ich würde eine lupo1-Lösung vorschlagen..:

Arbeitsblatt mit dem Namen 'Tabelle1 (2)'
ABCDE
1TagvonbisPauseman Eingabe
2Mo 05.06.20177:0016:000:30
3Di   06.06.20179:0018:000:30

ZelleFormel
D2=MAX(E2;SUMME((REST(C2-B2;1)>{2.3}/8)*{2.1}/96))
D3=MAX(E3;SUMME((REST(C3-B3;1)>{2.3}/8)*{2.1}/96))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#4
Stimmt, die ist besser. Aber nicht so, wie ich es oben diskussionshalber zu bedenken gab.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#5
An dieser Diskussion wollte ich mich nicht beteiligen. Es ging mir um die gleiche Zeit(dauer) aber unterschiedliche Ergebnisse bei der ersten Formel... (^_-) ... das wäre ja ungerecht...
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#6
Hallo,
vielen Dank für Eure Antworten. Die Formel 

Zitat:=MAX(E2;SUMME((REST(C2-B2;1)>{2.3}/8)*{2.1}/96))

scheint zwar zu funktionieren, aber irgendwie erst ab einer Pausendauer von 45min.

Wundert euch nicht,daß Spalte D fehlt, die habe ich für den Moment der Übersichtlichkeit wegen ausgeblendet. Da wird lediglich mit einer Wenn-Formel nochmal die gesetzlich zustehende Pausendauer angezeigt, sie spielt aber für die weitere Berechnung keine Rolle.

In Spalte F habe ich nochmal die Differenz aus Arbeitsende und Arbeitsbeginn berechnen lassen und dann das Ergebnis der o.g. Formel abgezogen,um so auf die Nettoarbeitszeit am betreffenden Tag zu kommen. Wie ihr
seht, zieht die Tabelle aus irgendeinem Grund immer sofort 45min Pause ab, auch wenn der Person bei dieser Anwesenheitsdauer nur 30min zustehen würde und sie tatsächlich nur 30min gemacht hat. Ist besonders gut in Zeile 13 zu sehen, wo ja eigentlich nur die gesetzlich zustehenden 30min abgezogen werden sollten. Interessanterweise stimmt es aber wieder, wenn die Ist-Pause die 45min-Marke überschreitet, wie man in den Zellen F15 und darunter sehen kann.  Wieso zieht mir die Tabelle bei Pausenzeiten bis 45min immer generell 45min ab ? Wenn die Ist-Pause länger ist als 45min scheints ja wieder zu stimmen.

Arbeitsblatt mit dem Namen 'Mai_2018'
ABCEF
11AnfangEndeIst-PauseIST
12Mittwoch, 2. Mai 20188:0016:0000:007,25
13Donnerstag, 3. Mai 201808:0016:0000:307,25
14Freitag, 4. Mai 201808:0016:0000:407,25
15Montag, 7. Mai 201808:0016:0000:557,08
16Dienstag, 8. Mai 201808:0016:0001:007,00
17Mittwoch, 9. Mai 201808:0016:0001:156,75
18Donnerstag, 10. Mai 201808:0016:0001:306,50

ZelleFormel
F12=(C12-B12-(MAX(E12;SUMME((REST(C12-13;1)>{2.3}/8)*{2.1}/96))))*24
F13=(C13-B13-(MAX(E13;SUMME((REST(C13-13;1)>{2.3}/8)*{2.1}/96))))*24
F14=(C14-B14-(MAX(E14;SUMME((REST(C14-13;1)>{2.3}/8)*{2.1}/96))))*24
F15=(C15-B15-(MAX(E15;SUMME((REST(C15-13;1)>{2.3}/8)*{2.1}/96))))*24
F16=(C16-B16-(MAX(E16;SUMME((REST(C16-13;1)>{2.3}/8)*{2.1}/96))))*24
F17=(C17-B17-(MAX(E17;SUMME((REST(C17-13;1)>{2.3}/8)*{2.1}/96))))*24
F18=(C18-B18-(MAX(E18;SUMME((REST(C18-13;1)>{2.3}/8)*{2.1}/96))))*24
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Top
#7
Hi,

einfach so:

Arbeitsblatt mit dem Namen 'Tabelle1'
BCDE
1BeginnEndePause
208:0014:0000:0006:00

ZelleFormel
E2=C2-B2-MAX(D2;((C2-B2>0,25)*0,5-(C2-B2>0,375)*0,25)/24)
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

oder so:

Arbeitsblatt mit dem Namen 'Tabelle1'
BCDE
1BeginnEndePause
208:0014:0000:006,00

ZelleFormel
E2=(C2-B2)*24-MAX(D2;((C2-B2>0,25)*0,5-(C2-B2>0,375)*0,25))
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#8
Danke für deine Antwort.  Ich hab gerade nochmal die Formel aus meinem letzten Posting reingehämmert,diesmal alles in Klammern gesetzt:

=(C2-B2-MAX(E2;SUMME((REST(C2-B2;1)>{2.3}/8)*{2.1}/96)))*24

Und aus irgendeinem unerklärlichen Grund scheint die Berechnung nun plötzlich zu funktionieren. Ich weiß nicht so recht,warum dem so ist, aber im Endeffekt zählt das Ergebnis. Danke für Eure Hilfe.
Top
#9
Hi,

(23.05.2018, 16:20)LCohen schrieb: Falls bei 6:01 statt 30 nur 1 Minute(n) abgezogen werden soll (wofür ich immer plädiere), melde Dich. Die meisten anderen sehen das aber nicht so, wie ich.

das halte ich auch für gerechter. Wie wäre das zu lösen?
Top
#10
=SUMMENPRODUKT((C2-B2>{0.24.26.36.37}/96)*(C2-B2-{0.24.26.36.37}/96)*{1.-1.1.-1.1})

oder

=MIN(C2-B2;MAX((C2-B2)*{0.1}+{24.-2}/96);MAX((C2-B2)*{0.1}+{34.-3}/96))

(natürlich jeweils mit

REST(C2-B2;1) statt C2-B2, falls gebraucht)

(von lupo1)

Das Gesetz verlangt alle 3 Stunden 1/12 Pause (mit der Abwandlung in den ersten 6 Stunden, bis wohin man das aufsparen kann). Gleichzeitig ist Mehrarbeit über 10 Stunden hinaus wohl verboten. Für diesen Konfliktfall hätte man aber noch

=SUMMENPRODUKT((B1-A1>{0.24.26.36.37.48.49}/96)*(B1-A1-{0.24.26.36.37.48.49}/96)*{1.-1.1.-1.1.-1.1})
=MIN(B1-A1;MAX((B1-A1)*{0.1}+{24.-2}/96);MAX((B1-A1)*{0.1}+{34.-3}/96);MAX((B1-A1)*{0.1}+{45.-4}/96))
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste