Clever-Excel-Forum

Normale Version: Excel Zeitkonto Nachtstunden/ Sonntagsstunden/ Feiertagsstunden berechnen lassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Abend, ich bräuchte dringend Hilfe, da ich schon seit Tagen daran Zweifel im Zeitkonto auf Excel die Nachtstunden/ Sonntagsstunden und Feiertagsstunden auszurechnen. Ihr könnt die Blaue Tabelle gerne Löschen, wenn ihr eine bessere Idee habt oder diese Weiter übernehmen, da ich nicht mehr weiter komme. Nun paar Daten zu dem Zeitkonto (Muster Datei im Anhang, bitte Aufbau so lassen damit es direkt übernehmen kann, da mehr als 50 Zeitkonten normalerweise in einer Datei sind und ich diese so erhalte),

-Nachtstunden nur die Netto Arbeitsstunden von 22:00-06:00
-Sonntagsstunden nur die Netto Arbeitsstunden 
-Feiertagsstunden nur die Netto Arbeitsstunden

Am besten die  30 Minuten Pause immer nach 6 Stunden berechnen (Mit Nettostunden sind die Stunden abzüglich der Pause gemeint)

Bin für jede Antwort dankbar :) 

Mit freundlichen Grüßen

Jurgen
Hola,
sagst du dann bitte im anderen Forum Bescheid dass es jetzt hier weitergeht?
Danke.
Gruß,
steve1da
(05.11.2022, 19:35)steve1da schrieb: [ -> ]Hola,
sagst du dann bitte im anderen Forum Bescheid dass es jetzt hier weitergeht?
Danke.
Gruß,
steve1da

Schönen Abend steve1da,
leider habe ich im anderem Forum keine Lösung gefunden ( Vorschläge haben leider nichts gebracht, vielleicht liegt es auch an mir). Da ich mich nicht so gut mit Excel auskenne, Versuche ich Hilfe von allen Seiten zu bekommen ;).

Wünsche dir noch einen schönen Abend.
Nachvollziehbar, aber: du stellst hier jetzt die gleiche Frage nochmal, eventuell bekommst du die gleichen Antworten ohne das der Helfer weiß, wo du das noch gepostet hast. Dann hat jemand völlig umsonst für dich gearbeitet. Arbeitest du gerne umsonst?
Also bitte setze hier einen Link zur Frage im anderen Forum, und umgekehrt.
(05.11.2022, 21:08)steve1da schrieb: [ -> ]Nachvollziehbar, aber: du stellst hier jetzt die gleiche Frage nochmal, eventuell bekommst du die gleichen Antworten ohne das der Helfer weiß, wo du das noch gepostet hast. Dann hat jemand völlig umsonst für dich gearbeitet. Arbeitest du gerne umsonst?
Also bitte setze hier einen Link zur Frage im anderen Forum, und umgekehrt.

Da hast du natürlich recht. Mein Fehler habe gar nicht daran gedacht. 


Selbe Frage auf einem andrem Forum:

 https://www.computerbase.de/forum/thread...n.2111686/
Für meine Datei habe ich ja heute schon eine Ohrfeige bekommen ... lohnt wohl nicht sie hier anzupassen und anzubieten.
Hallo,

Mein Vorschlag: verwende
https://www.sulprobil.com/sbtimediff_en/

Das Thema Zeitkonten wiederholt sich in Excel Foren regelmäßig und lässt sich m. E. fröhlich mit einem Schrebergarten vergleichen, in dem ein Neuling freundlich fragt, wie er seinen Rasen mähen kann.

LCohen zeigt ihm seine Nagelschere, Steve1da sagt ihm, wann er wen fragen darf und wo der Rasenabfall sauber entsorgt werden muss. Sigi.21 und ich bieten unsere Rasenmäher an.

Have fun,
Bernd
Da bin ich für Deine Verhältnisse ganz gut weggekommen ;)
(06.11.2022, 09:09)LCohen schrieb: [ -> ]Da bin ich für Deine Verhältnisse ganz gut weggekommen ;)

Hallo LCohen,

In all (Un-)Fairness: Deine Formellösung ist die einzige vollständige und korrekte, die ich bisher sah.
Aber: Du könntest mal einen Preis ausloben für den Ersten, der Deine Formeln korrekt transponiert oder ansonsten korrekt in einem anderen Format ausgibt.

Viele Grüße,
Bernd
Danke!

Formel: Bevor es LET gab, konnte man die benannten Formeln auch schon verschachtelt verwenden (und so nicht zuletzt die enge Grenze von 8 Funktionsschachtelungen und 31 Klammerungen in Excel4 erweitern). 

Der Nachteil dabei war (in Bezug auf die Dateigröße), dass die Namen in voller Größe und auch mehrfach, als wären sie nie geschachtelt worden, die Hauptspeichergröße belasteten.

Bei LET sollte es ja eigentlich anders sein. Aber: Da jederzeit auch Zwischenschritte im LET als Endergebnis ausgegeben werden können, wird als Konsequenz auch jeder Zwischenschritt "zur Formellaufzeit" (was auch immer das tatsächlich heißen mag) aufbewahrt. Nicht ganz mit dem Größeneffekt verschachtelter Namen, aber immerhin.

Die benannten Formeln (
hier zu der physischen Position Schnittpunkt L375: zur Orientierung, 
Tabelle1! in folgenden Formeln übersichtshalber gelöscht, da Excel sie automatisch ergänzt):

(1) Dauer: =SUMME((1-2*(SPALTE($B375:$J375)>3))*(REST(SPALTE($B375:$J375);2)=0)*(XX>0)*XX)
(2) XX: =WENN(next-$C375:$K375<0;next;$C375:$K375)-WENN(this-$B375:$J375>0;this;$B375:$J375)
(3) next: =INDEX(M:M;$A375):INDEX(M:M;$A375+1)
(4) this: =INDEX(L:L;$A375):INDEX(L:L;$A375+1)
(5) A375: =VERGLEICH($B375;$L$1:$L$371)
(6) AA6: =MIN(3;WAHL(REST(L6;7)+1;2;2;1;1;1;1;1)+ISTZAHL(VERGLEICH(L6;AB$6:AB$31;))*3)
(7) L1:Z5: Diagonale Eingabe der Zeitbegrenzungen pro "Tage-unterschiedlich"-Klasse (WE, WT, FT)
(..) weitere

(1) enthält (2), und (2) enthält (3) und (4).

(3),(4): Wir müssen also bei (3) und (4) anfangen: Beide ergeben einen 1x2-Vektor vom Such- und Folgedatum. (4) ist die Anfangszeit der betrachteten Zeitschachtel "mit eigener Aussage", (3) ist deren Ende (bzw. Anfang der nächsten).

(2) schneidet die vertikalen (über 2 Folgedatümer (3),(4)) und die horizontalen Zeiteinteilungen (Anfangs- und Endzeiten sowie Pausenbeginne und -enden einer Arbeitszeit = -Zeile) im Sinne von =MAX(;MIN(d;b)-MAX(a;c)). Ich habe mich insgesamt auf WENN dabei zurückgezogen, da WENNFEHLER(EXP(LN(...));) erst ab XL2007 funktioniert. Dies hier klappt auch vorher.

(1) vervollständigt nun die Arrayform der =MAX(;MIN(d;b)-MAX(a;c))-Formel.

(5) sorgt für die korrekte Zeile des Beginns von (3) und (4). Ich hätte auch variable Tagesanzahlen statt fix Tag und Folgetag verwenden können (wie in sbtimediff_en), aber dann wäre es keine Lohnzeitenverwaltung, sondern eine Auftragszeiten-Ermittlung geworden.

(6) sortiert die Kalenderdatümer in WT WE FT, ...

(7) ... die manuell in 1:5 spezifiziert sind (davon 4:5 momentan nicht verwendet). Bitte dort die Zellinhalte, nicht etwa die Zellanzeige, checken (00:00 ist nämlich 0 oder 1, da der Tag von 0:00 bis 24:00 spezifiziert sein muss).

(..) D:K enthalten 4 mögliche Pausen in 8 Spalten (Anfang und Ende, relativ zu B375: Arbeitsanfang, in Zeile 6 spezifiziert). ENTF man D6:K6, wird ohne Pausen gerechnet. Die Pausen, sofern nicht ENTFt, werden arbeitnehmerfreundlich abgezogen, nicht etwa wie in manchen Zeiterfassungssystemen blockweise. Außerdem werden sie in die Zeitschachteln hinein anteilig abgezogen. Die Zeitschachtel für die besprochene Zelle L375 ist Werktag 0:-5:.

Die FT (Feiertage) werden ab AB6 bundeslandspezifisch gelistet. Der ISTZAHL-Teil in (6) sorgt für die Zuordnung. Man könnte nun z.B. eine eigene Schachtel z.B. für die oft halbierten FT OsSa, PfSa, HlgA und Silv bauen. Dafür würde (6) als Formel halt etwas länger. Genauso könnte man FT noch unterschiedlich stark bonifizieren mit Zuschlägen (373:374); erfordert nur weitere Spalten innerhalb von L:Z.

(1) hier noch mal eingesetzt als Monster (muss ja nicht wirklich sein, Achtung:{}-Abschluss):

L375: =SUMME((1-2*(SPALTE($B375:$J375)>3))*(REST(SPALTE($B375:$J375);2)=0)*(WENN(
INDEX(M:M;$A375):INDEX(M:M;$A375+1)-$C375:$K375<0;
INDEX(M:M;$A375):INDEX(M:M;$A375+1);$C375:$K375)-WENN(
INDEX(L:L;$A375):INDEX(L:L;$A375+1)-$B375:$J375>0;
INDEX(L:L;$A375):INDEX(L:L;$A375+1);$B375:$J375)>0)*(WENN(
INDEX(M:M;$A375):INDEX(M:M;$A375+1)-$C375:$K375<0;
INDEX(M:M;$A375):INDEX(M:M;$A375+1);$C375:$K375)-WENN(
INDEX(L:L;$A375):INDEX(L:L;$A375+1)-$B375:$J375>0;
INDEX(L:L;$A375):INDEX(L:L;$A375+1);$B375:$J375)))


Heute würde ich das (für XL2000) etwas kürzer schreiben können:

L375: =SUMME((1-2*(SPALTE($B375:$J375)>3))*(REST(SPALTE($B375:$J375);2)=0)*(WENN(
INDEX(M:M;$A375+{0;1})-$C375:$K375<0;
INDEX(M:M;$A375+{0;1});$C375:$K375)-WENN(
INDEX(L:L;$A375+{0;1})-$B375:$J375>0;
INDEX(L:L;$A375+{0;1});$B375:$J375)>0)*(WENN(
INDEX(M:M;$A375+{0;1})-$C375:$K375<0;
INDEX(M:M;$A375+{0;1});$C375:$K375)-WENN(
INDEX(L:L;$A375+{0;1})-$B375:$J375>0;
INDEX(L:L;$A375+{0;1});$B375:$J375)))
Seiten: 1 2