Excel Zeiten erfassen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Hi,

ein anderer Lösungsansatz, die obere Formel ist für die Tagstunden und die untere für die Nachtstunden. Funktioniert nur wenn die Gesamtarbeitsdauer kleiner als 24 Stunden ist, aber das scheint bei dir ja stets der Fall zu sein.

  • =WENN(C4>B4;MAX(0;MIN($M$5-B4-MAX(0;$M$4-B4);C4-B4-MAX(0;$M$4-B4)));MAX(0;$M$5-B4-MAX(0;$M$4-B4))+MIN($M$5-$M$4;MAX(0;C4-$M$4)))
  • =WENN(C4>B4;C4-B4;1-B4+C4)-WENN(C4>B4;MAX(0;MIN($M$5-B4-MAX(0;$M$4-B4);C4-B4-MAX(0;$M$4-B4)));MAX(0;$M$5-B4-MAX(0;$M$4-B4))+MIN($M$5-$M$4;MAX(0;C4-$M$4)))
  • M4:= Arbeitszeitbeginn Tag ; M5 = Arbeitszeitende Tag

Zunächst wird geprüft ob es einen Datumsumsprung gibt. Ist es nur 1 Tag wird das Minimum der Differenzen vom Arbeitsende und dem Arbeitszeitende abzüglich evtl morgentlicher Nachtstunden bestimmt. Gibt es einen Datumsumsprung wird stattdessen die Summe aus der Differenz von Arbeitszeitende-Arbeitsbeginn (0 falls negativ) und der Differenz von Arbeitszeitbeginn-Arbeitsende (0, falls negativ, maximale Tagesstunden, falls größer als diese) gebildet.

Die Nachtstunden werden als Differenz von Gesamtarbeitzeit und den auf die gleiche Art bestimmten Tagstunden ermittelt.

Ich habe es nicht ausprobiert, aber entweder du speicherst das Datum mit der Uhrzeit oder du musst in irgendeiner Form eine Abfrage einbringen, dass wenn die Endzeit kleiner ist als die Startzeit (24:00:00-Startzeit)+Endzeit gerechnet werden muss.

Woher ich das weiß:Berufserfahrung – Programmierer

RobinM66 
Beitragsersteller
 06.04.2021, 10:24

Aber wie würde denn Excel erkennen, wenn die Zelle entsprechend mit Datum und Uhrzeit gespeichert wird, dass es der Folgetag ist.

Eine Eingabe sollte entsprechen: 12:00 und dann 02:00 sein.
Dabei muss dann erkannt werden, dass 12:00 --> 01.01.1900 ist und 02:00 --> 02.01.1900 ist.

Suboptimierer  06.04.2021, 12:38
@RobinM66

Wie werden die Uhrzeiten denn erfasst?

Wenn zu dem Zeitpunkt, zu dem erfasst wird, das aktuelle Datum mitgespeichert wird (TT.MM.JJJJ hh:mm:ss), dann braucht man auch keine Krücken mit dem Jahr 1900.

Dann hast du einmal einen Zeitstempel 06.04.2021 12:00:00 und einen Zeistempel 07.04.2021 02:00:00. Excel rechnet intern mit den Datumswerten in Fließkommazahlen und kann diese ganz normal subtrahieren.

(Man muss nur einmal überprüfen, ob die Einstellung Datei → Optionen → Erweitert → Beim Berechnen dieser Arbeitsmappe → 1904-Datumswerte verwenden korrekt gesetzt ist.)

Suboptimierer  06.04.2021, 12:42
@Suboptimierer

Und meinen Gegenvorschlag scheinst du nicht richtig verstanden zu haben.

Wenn nur die Uhrzeit gespeichert wird, kannst du überprüfen, ob die Endzeit kleiner ist als die Startzeit. In deinem Fall ist 02:00:00 kleiner als 12:00:00. Ist dies der Fall, weißt du, dass mindestens ein Tageswechsel dazwischen liegt und wenn nur weniger als ein Tag dazwischen liegen darf, dann weißt du im umgekehrten Fall, dass kein Tageswechsel stattgefunden hat.

RobinM66 
Beitragsersteller
 06.04.2021, 13:34
@Suboptimierer

Also die Zeit wird in HH:MM:SS als benutzerdefiniert wiedergegeben. Ich werde die von dir genannte Prüfung mal versuchen einzubauen.

Du könntest folgendes machen um die Nachtstunden/Tageswechsel zu ermitteln:

z.B. in A1 (... oder sonst wo) 24:00 Stunden eintragen... und danach Bezug darauf nehmen ...

Bild zum Beitrag

Woher ich das weiß:eigene Erfahrung
 - (Computer, programmieren, Microsoft)

RobinM66 
Beitragsersteller
 08.04.2021, 12:38

So bekomme ich die Gesamtzeit raus, dies habe ich schon. Ich brauche entsprechend eine Aufteilung der Gesamtzeit zwischen Tag- und Nachtzeit

GutenTag2003  08.04.2021, 12:40
@RobinM66

Die Zeiten kann man ja in einer erweiterten Formel unterbringen.

Mein Vorschlag hatte das Ziel, die Problematik bei Excel/Tageswechsel zu übergehen/lösen.

Hallo, das ist eine sehr interessante Frage, die nicht leicht zu lösen ist.
Ich hoffe der Tag hat kein Loch, was ist zwischen 20:01 und 21:59= Wahrscheinlich Tippfehler, ist aber egal. Ich gehe davon aus, dass 6-20 Uhr Tag ist und der Rest Nacht.
Systematisch ginge ich es so an:
Der Mitarbeiter kann in 3 Zonen kommen und in 3 Zonen gehen, das sind:
Zone1 (00:00 - 05:59 Uhr)
Zone2 (06:00 - 20:00 Uhr)
Zone3 (20:01 - 00:00 Uhr)
Also gibt es theoretisch 3 Beginn-Zonen mal 3 Ende-Zonen, also 9 Fälle.

Bild zum Beitrag

Die Zelle B2 (Tagbeginn) habe ich "Tag" getauft, C2 hat den Namen "Nacht".

Den Fall (Zelle F4 und runterkopieren) ermittle ich so:=3*WENN(STUNDE(B4)<6;0;WENN(STUNDE(B4)>20;2;1))+WENN(STUNDE(C4-1/24/3600)<6;1;WENN(STUNDE(C4-1/24/3600)>20;3;2))
Das Glied "-1/24/3600" musste ich nur für den Fall einbauen, wenn das Arbeitszeitende genau 00:00 Uhr ist , dann wird 1 Sekunde abgezogen, damit die Rechnung passt.

Die Tages-Arbeitszeit in allen 9 Fällen (Zelle G4 und runterkopieren):
=WAHL(F4;0;C4-Tag;Nacht-Tag;Nacht-B4;C4-B4;Nacht-B4;0;C4-Tag;0)

Die Nacht-Arbeitszeit in allen 9 Fällen (Zelle H4 und runterkopieren):
=WAHL(F4;C4-B4;Tag-B4;Tag-B4+C4-Nacht;1-Nacht+C4;0;C4-Nacht;B4-Nacht+C4;B4-Nacht+Tag;C4-B4)

Woher ich das weiß:eigene Erfahrung – Faulheit >> Neugier >> Wissen
 - (Computer, programmieren, Microsoft)

RobinM66 
Beitragsersteller
 06.04.2021, 18:01

Vielen Dank für deine Antwort, freut mich dass ich dich hoffentlich etwas herausfordern konnte. Ich bin bei der Aufgabe nämlich etwas am verzweifeln. Ich werde es mal ausprobieren.

Oh, natürlich ist die Tagzeit von 06:00 - 20:00 und die Nachtzeit von 20:01 - 05:59. Da hatte ich einen Tippfehler.

Die neun Fälle klingen logisch und plausibel, aber könnte doch theoretisch auch der Fall: 03:00 Uhr - 02:00 Uhr sein sprich mit tageswechsel. Dieses wäre nicht berücksichtigt oder habe ich da gerade ein Denkfehler

RobinM66 
Beitragsersteller
 07.04.2021, 08:24

Hallo hannes1806

ich habe es mal getestet, jedoch treten folgende Fehler bei folgenden Konsultationen auf.

* Beginn: beliebig - Ende: 00:00
--> Im der Spalte Fall, sowie Tag und Nacht wird als Wert #zahl! ausgegeben.

* Beginn: beliebig - Ende: 21:00
--> Die Anzahl der Nachtzeit wird falsch berechnet. Die Nachtzeit beginnt ab 20:01. Im Beispiel 19:00 - 21:00 Uhr wird 2 Std Tagstunden gerechnet., wobei 1 Std & 1 Std korrekt wäre. Sofern die Nachtzeit im nächsten Tag liegt (01:00 Uhr), wird die Zeit korrekt berechnet.

* Beginn: 19:0 Uhr - Ende 07:00 Uhr-
* --> Es wird Fall 5 wiedergegeben, die Nachtzeit wird als 0 angezeigt und die Tagzeit als ###### wiedergegeben (Zelle nicht zu kurz)

* Beginn: 03:00 Uhr - Ende 02:00 Uhr
* --> Es wird Fall 1 wiedergegeben, die Tagzeit mit 0 gerechnet und die Nachtzeit mit #######

M.E.n. gibt es auch 12 Fälle -->
Fall: Beginn Ende
1         03:00 – 04:00
2         03:00 -  18:00
3         03:00 – 22:00
4         03:00 – 01:00
5         18:00 – 19:00
6         18:00 – 22:00
7         18:00 – 04:00
8         18:00 – 08:00
9         22:00 – 23:00
10       22:00 - 04:00
11       22:00 – 18:00
12       22:00 – 21:00

hannes1806  07.04.2021, 15:45
@RobinM66

Hallo RobinM66 du hast in allem Recht, ich war zu voreilig. Aber wir kommen der Sache schon näher. Ich schau mir das nochmal in Ruhe an.