[Excel] Abwesenheit zwischen 2 Werten

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

folgende Problem:

Ich trete eine Reise vom 1. bis zum 5. an. Dann bin ich schon mal 3 ganze Tage (also 3*24 Stunden abwesend)

Da ich am 1. Tag um 10 Uhr los fahre bin ich 14 Stunden abwesend (24 -10).
Ich komme am letzten Tag um 15 uhr wieder, also war ich 15 Stunden abwesend.

Nun habe ich in Excel drei Zellen:

Abwesenheit >=8 & <14 Std.:
Abwesenheit >=14 & <24 Std.:
Abwesenheit >=24 Std.:

Die letzte Zelle kann ich mit DateDif ausrechnen indem ich noch einen Tag abziehe, aber die anderen beiden schaffe ich irgendwie nicht mehr.

Wer kann mir da helfen?


MFG
Papenburger
 
mach doch einfach für jede Zeit eine eigene Berechnung und Summiere dann die Zeilen am Ende der Spalte

z.B:

B8: Ergebnis von 24-10
C8: Ergebnis von 24-15 und
D8: B8+D8

mit einer Wenn-Prüfung kann man dann noch B8 bzw. C8 leer lassen, sollten deine Bedingungen (<8 &>14 Std.) nicht zutreffen. So hast du die richtige Summe in D8.

das machst du für deine zweite bedingung >14 & <24 Std. dann einfach noch mal

hast dann eben 3 Zellen, oder aber du packst dass dann komplett in eine Zelle. (geht ja dann recht einfach, wenn du es einzeln schon gemacht hast.)

hoffe das war verständlich was ich sagen wollte :mrgreen:
 
Soll das ein Formular für eine Reisekostenabrechnung werden?

Da hätte ich was, wenn Interesse besteht.

Marty
 
Im Prinzip musst du drei Zeiten berechnen:
(1) Länge des ersten Tages
(2) Länge des letzten Tages
(3) Anzahl der Tage dazwischen

Die Lösung liegt in der Art und Weise, wie Excel Datum/Uhrzeit-Werte speichert, nämlich als Anzahl Tage seit dem "00.01.1900" als Gleitpunktzahl. Die Uhrzeit steckt also im Nachkomma-Anteil, weshalb sich durch Auf- und Abrunden schön der aktuelle bzw. der kommende Tag 0 Uhr ermitteln lässt.

PHP:
A1 = "01.08.2007 10:00"
B1 = "05.08.2007 15:00"

A2 = AUFRUNDEN(A1; 0) //(ergibt "02.08.2007 00:00")
B2 = ABRUNDEN(B1; 0)  //(ergibt "05.08.2007 00:00")

B2-A2 ergibt (wenn man es als Zahl formatiert) 3 (das ist also deine Anzahl 24-Stunden-Tage)
Die Länge des ersten und letzten Tages würde ich wahrscheinlich mit zwei weiteren Zellen bestimmen:
PHP:
A3 = WENN(A2-A1>=14;14;WENN(A2-A1>=8;8;0))
B3 = WENN(B1-B2>=14;14;WENN(B1-B2>=8;8;0))
Die Anzahl der 8- bzw. 14-Stunden-Tage bekommst du dann per
PHP:
ZÄHLENWENN(A3:B3;8)
bzw.
PHP:
ZÄHLENWENN(A3:B3;14)

Man kann es natürlich auch in weniger Zellen schreiben, aber sonderlich übersichtlich ist das dann nicht mehr :ugly::

PHP:
Abwesenheit >=8 & <14 Std.: =ABRUNDEN(B1;0)-AUFRUNDEN(A1;0)
Abwesenheit >=14 & <24 Std.: =WENN((AUFRUNDEN(A1;0)-A1)*24>=14;1;0)+WENN((B1-ABRUNDEN(B1;0))*24>=14;1;0)
Abwesenheit >=24 Std.: =WENN(UND((AUFRUNDEN(A1;0)-A1)*24>=8;(AUFRUNDEN(A1;0)-A1)*24<14);1;0)+WENN(UND((B1-ABRUNDEN(B1;0))*24>=8;(B1-ABRUNDEN(B1;0))*24<14);1;0)

Die letzte Zelle kann ich mit DateDif ausrechnen indem ich noch einen Tag abziehe
Ist das so? Und was ist, wenn du um 15 Uhr losfährst und um 10 Uhr wiederkommst? Dann ist die Differenz abgerundet 3 Tage, wenn du dann noch einen Tag abziehst, passt es nicht mehr...

Gruß,
marac