
Gibt es für das unten beschriebene, doch recht banale, Problem eine einfachere und vor allem einfacher wartbare Variante?
Der Benutzer gibt 4 Zeiten ein.
VM Kommt, VM geht, NM kommt, NM geht
B7 - E7
In F7 können bezahlte Abwesenheiten eingegeben werden
Istzustand:
Die Tagesarbeitszeit wird wie folgt berechnet
(Ich weiss nicht mehr woher diese Formeln kommen und warum da ein Vergleich drin steckt. Da reicht sicher eine einfach Subtraktion)
Vormittag (O7): =(C7<B7)+C7-B7
Nachmittag (P7): =(E7<D7)+E7-D7
Tagesarbeitszeit: =O7+P7+F7
Soweit so gut, wenn nun aber eine Zeit fehlt, wird falsch gerechnet.
Der Versuch mit der Formel liefert für den Vormittag das Resultat das ich erwarte
=WENN(UND(NICHT(B7=0);NICHT(C7=0));((C7<B7)+C7-B7); 0)
Mir graut schon vor dem Gedanken, dass ich die Zwischenschritte über Vor- und Nachmittags Felder eliminieren möchte. (Diese Formel und deren Pendant für den Nachmittag in einem Feld - Graus)
Kurzversion:
Muss:
Ich möchte aus 4 Zeiten die Tagesarbeitszeit berechnen, aber nur wenn für einen Halbtag beide Zeiten eingegeben sind.
Einzelne Zeiten werden ignoriert -> Resultat 0
Nice to have
Ich möchte überprüfen ob die Reihenfolge der Zeiten stimmt -> falls nicht gibt die Summe 0
Geht später als Kommt. VM Geht früher als NM kommt.
Einschränkungen:
Falls das eine Vereinfachung bringt, wird nie über Mitternacht hinaus gearbeitet (Da könnte ja NM Geht 24:00 und darauf VM kommt 0:00 eingegeben)
Nein bitte, ich möchte keine Fertigversion einer Zeiterfassung von irgendwoher runterladen, denn dann hätte ich ja nichts gelernt

PS: Ich habe noch nie Funktionen für Ooo geschrieben - wäre das eine wesentlich Vereinfachung?