ich habe folgendes Problem.
Für eine Zeiterfassung benötige ich eine Berechnung in der
Schaltjahre nicht berücksichtigt werden. D. h. ein Jahr muß
immer 365 Tage entsprechen.
Ein Beispiel:
Berechnung für den Zeitraum
01.04.1967 bis 31.12.1991
Es sollen insgesamt 24 Jahre und 275 Tage als Ergebnis herauskommen. Setzt sich wie folgt zusammen:
01.04.1967 - 31.03.1991 = 24 Jahre
01.04.1991 - 31.12.1991 = 275 Tage da der zeitraum
mit der tatsächlichen Anzahl der Tage zu berechnen ist.
Also 30+31+30+31+31+30+31+30+31 = 275
Sollte im letzten berechneten Zeitraum ein Februar liegen muß dieser immer mit 28 Tagen berechnet werden.
Leider führt die standardmäßige Berechnung in Excel zu fehlerhaften Ergebnissen, weil das Programm die Berücksichtigung von Schaltjahren vorsieht.
Bsp.:
01.04.1967 - 31.12.1991 = 9040 Tage
= 24 Jahre und 280 Tage
Ich habe dafür folgende Formel benutzt:
Jahre | Tage | ||||
vom | 24563 | bis | 33603 | =D2-B2 | |
=kürzen(F2/365) | =F2-(E3*365) |
Als eine weitere Methode zeitliche Differenzen über Excel zu berechnen ist mir bekannt Zellen dahingehend zu definieren ein Jahr über Funktion einfügen mit 360 Tagen zu berechnen. Aber auch diese Methode ist für die Berechnung unbrauchbar.
Weiß irgend jemand eine Möglichkeit diese Berechnung mit Excel durchzuführen?
Für Eure Hilfe schon einmal herzlichen Dank im Voraus.
Christoph Schröder
JahreTage
vom24563bis33603=D2-B2
=kürzen(F2/365)=F2-(E3*365)
Hallo Christoph
für Jahre:
=DATEDIF(B2;D2;"Y")
für Tage:
=DATEDIF(B2;D2;"yd")+(REST(JAHR(D2);4)>0)
mfg Peter
herzlichen Dank für Deine prompte Antwort. Leider ist diese Formel aber nicht ganz
richtig.
Endet der Zeitraum in einem Schaltjahr, so fehlt in der Berechnung der Tage ein Tag.
Bsp.:
01.04.67 - 31.12.92 = 25 Jahre und 274 Tage es müßten aber 275 Tage sein
(30+31+30+31+31+30+31+30+31)
Eine Ahnung wo der Fehler liegen könnte?
Gruß
Christoph
Peter Dorigo schrieb:
Hallo Christoph
ja, die Formel ist falsch! Sie rechnet nur dann korrekt, wenn das "bis"-Jahr
kein Schaltjahr ist, oder das "bis"-Jahr ein Schaltjahr ist und der Schalttag in
der Datumsdifferenz eingeschlossen ist.
so müsste es klappen:
=1+DATEDIF(B2;D2;"yd")
-(B2<=DATUM(JAHR(B2);3;))
*(D2>DATUM(JAHR(D2);3;))
*(REST(JAHR(D2);4)=0)
lies:
Differenz in Tagen
minus 1Tag wenn [Starttag <= 28./29. Feb]
und [Endtag > 29.Feb]
und [bisJahr ist Schaltjahr]
Hinweise:
- Zeile 2,3 und 4 ist eine formulierte Bedingung, die WAHR (=1) oder FALSCH (=0)
sein kann, dh es wird 1 oder 0 Tag subtrahiert.
- Ermittlung des letzten Februartages:
DATUM(JAHR(B2);3;) ist der 0. März (=> 28./29. Feb)
- Schaltjahr könnte auch so ermittelt werden:
TAG(DATUM(JAHR(D2);3;))>28
(anstelle von REST(JAHR(D2);4)=0 )klappt dann auch im Jahr 2100!
Vielleicht fällt mir noch 'ne kürzere Lösung ein, aber teste erst mal diese.
mfg Peter
Gruß
Christoph
Peter Dorigo schrieb:
> Christoph Schröder <Christoph...@gkd-el.de> schrieb in im Newsbeitrag:
> so müsste es klappen:
>
> =1+DATEDIF(B2;D2;"yd")
> -(B2<=DATUM(JAHR(B2);3;))
> *(D2>DATUM(JAHR(D2);3;))
> *(REST(JAHR(D2);4)=0)
.....
> Vielleicht fällt mir noch 'ne kürzere Lösung ein, aber teste erst mal diese.
hier ist sie:
=1+DATEDIF(DATUM(1;MONAT(B2);TAG(B2));D2;"yd")-(TAG(D2)=29)
Peter