Zeitbereich ermitteln

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

mikeleb
*******
Beiträge: 1425
Registriert: Fr, 09.12.2011 16:50

Re: Zeitbereich ermitteln

Beitrag von mikeleb »

Hallo,

die Sache ist nicht so einfach, wie sie auf den ertsen Blick scheint. Insbesondere dann, wenn auch Zeitspannen z. B. 16:00 bis 08:00 Uhr oder 23:30 bis 23:15 Uhr (also über Mitternacht hinweg) möglich sein könnten.
Anbei mal ein Lösungsvorschlag mit ein paar Hilfzellen zur Berechnnung. Ich bin mal davon ausgegenagen, dass die Zeit C von 24:00 bis 12:00 Uhr reicht (wo bliebe sonst die eine Stunde - oder soll es so sein?).
Dateianhänge
zeitbereiche.ods
(9.38 KiB) 78-mal heruntergeladen
Gruß,
mikeleb
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeitbereich ermitteln

Beitrag von lorbass »

Vorschlag: Bitte testen!
JosefKraft hat geschrieben:C: 01(25)-12 Uhr
Ich habe mit erlaubt, stattdessen den Zeitraum 00:00 – 12:00 Uhr zu verwenden, da ich mir die Vernachlässigung einer Stunde nicht erklären konnte.

Gruß
lorbass
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Zeitbereich ermitteln

Beitrag von clag »

Hallo zusammen,

na da will ich doch auch noch eine Variante als reine Formellösung beisteuern :D
Zeit_splitten.ods
(10.87 KiB) 94-mal heruntergeladen
vielleicht hilft das?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeitbereich ermitteln

Beitrag von lorbass »

Gast hat geschrieben:Würde es dir denn Umstände machen mir deine Idee zu erklären?
Ja, das wird schon ein bisschen länglich…

Zunächst mal musst du wissen, wie mit Zeiten gerechnet wird. Siehe dazu RechnenMitDatumUndZeit.

Das für uns Wichtigste in aller Kürze:
  • »1/24« steht für 1 Stunde oder »heute 01:00 Uhr".
  • »1+8/24« steht für »1*24+8=32« Stunden oder »morgen 08:00 Uhr«
  • Uhrzeiten werden (hier) mit HH:MM formatiert,
  • Zeitdauern werden (hier) mit [HH]:MM formatiert.
Ausserdem: Dass die »von-Zeit« kleiner ist als die »bis-Zeit« habe ich nirgendwo überprüft. Alle Formeln gehen also davon aus, dass Ai* < Bi* gilt. Dafür bietet sich eine → Bedingte Formatierung an, die dem Benutzer schon bei der Zeiterfassung auf die Finger klopft.



Zur Sache:

Die Differenz MIN($B2;23/24)-MAX($A2;12/24) machst du dir am besten mit einem kleinen Bildchen klar:

Code: Alles auswählen

Zeit                         10    11    12    13       22    23    24
Zeitfenster  12:00 – 23:00               ├──┼──┼── ··· ─┼──┼──┤
Arbeitszeit  10:30 – 23:30      ├──┼──┼──┼──┼──┼── ··· ─┼──┼──┼──┤
                                         ↑                    ↑
Zeitabdeckung                           (1)                  (2)
Der Punkt (1) wird bestimmt durch das Maximum der Anfangszeiten der erfassten Zeit (→ $A2) und des Zeitfensters (→ 12/24), also MAX(10:30;12:00) = 12:00 Uhr.
Der Punkt (2) wird bestimmt durch das Minimum der Endzeiten der erfassten Zeit (→ $B2) und des Zeitfensters (→ 23:00) , also Min(23:30;23:00) = 23:00 Uhr.
Angerechnet wird somit eine Zeitdauer von 23:00 Uhr – 12:00 Uhr = 11:00 Std.

Das alles kannst du mit unterschiedlichen Anfangs- und Endzeiten durchspielen, also auch Teil-Überdeckungen der Intervalle vorne und hinten, usw. Die Formel gilt für die Spalten C und D, also Zeiten am heutigen Tag. Wenn der morgige Tag mit reinkommt, wird's komplizierter.

In den Spalten C und D reicht es aus, negative Ergebnisse auszuschließen (→ MIN(0; <min-max-Differenz>). Die ergeben sich in Differenzen, in denen Arbeitszeiten am morgigen Tag (→ »1+Uhrzeit«) Zeitfenstern am heutigen Tag (→ »0+Uhrzeit«) gegenüberstehen.

Für die Spalte E muss dagegen unterschieden werden zwischen den Fällen
  • Arbeitszeit beginnt morgen (→ Ai* > 1)
    Daraus folgt, dass sie auch morgen endet (s.o.: Ausserdem: … → Bedingte Formatierung).
  • Arbeitszeit beginnt heute (→ Ai* <= 1)
    Dann darf nur das auf morgen entfallende Zeitintervall betrachtet werden.
In beiden Fällen kommt dann wieder die oben beschrieben Differenz »MIN(…) – MAX(…)« zum Zuge.

Gruß
lorbass


_________________
* Ai steht für Zelladressen A2, A3, …; Bi entsprechend.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Zeitbereich ermitteln

Beitrag von lorbass »

Wenn es denn hilft, dann war es die Mühe wert.

Gruß
lorbass
Antworten