Autor: Peter Haserodt  --- Aus Excel Standard - Gruppe: Häufige Fragen

Alter einer Person - ergänzt

Autor: Peter Haserodt - Erstellt: ?      - Letzte Revision: ?
Die weitgehend undokumentierte Funktion Datedif wir hier oft genutzt.

Es kann aber leicht Meinungsverschiedenheiten darüber geben ob diese richtig rechnet.
Vielen Dank an Hajo Ziplies, der mich darauf aufmerksam gemacht hat!
Im nachfolgenden die Beispiele und weiter unten Überlegungen dazu.

Als erstes das Standardbeispiel in Kombination mit der Funktion Heute().
In meinem Beispiel ist heute der 31.10.2004
 
 ABCDEF
1      
2 GeborenJahreMonateTage 
3 15.03.196539716 
4 19.10.20004012 
5      
Formeln der Tabelle
C3 : =DATEDIF(B3;HEUTE();"y")
D3 : =DATEDIF(B3;HEUTE();"ym")
E3 : =DATEDIF(B3;HEUTE();"md")
C4 : =DATEDIF(B4;HEUTE();"y")
D4 : =DATEDIF(B4;HEUTE();"ym")
E4 : =DATEDIF(B4;HEUTE();"md")
 

Und zu diskutieren:
 
 ABCDEFG
1       
2 GeborenVergleichsdatumJahreMonateTage 
3 15.03.196511.01.200438927 
4 28.02.200301.03.2004102 
5       
6 31.07.200226.03.20030723 
7 31.10.200230.10.200301129 
8       
Formeln der Tabelle
D3 : =DATEDIF(B3;C3;"y")
E3 : =DATEDIF(B3;C3;"ym")
F3 : =DATEDIF(B3;C3;"md")
 

Kommen wir nun zu der zweiten Tabelle.
(Ich habe nur für Zeile 3 die Formeln ausgegeben, die anderen sind entsprechend)

Fangen wir mit der Zeile 7 an:
Hier gibt die DateDif 29 Tage aus. Rein gefühlsmäßig müsste man denken, es sollten doch 30 Tage sein.

Aber ist dem wirklich so?
Wenn ich 11 Monate zu dem 31.10.2002 hinzuzähle, komme ich auf den 31.09.2003.
Dieses Datum gibt es nicht!
Folglich wird es zum 1.10.2003 von der DateDif gesetzt. und vom 1.10. bis zum 30.10. sind es nunmal 29 Tage!

Extremer wird es noch in Zeile 6:
Zähle ich zum 31.7.2002 7 Monate hinzu, wird daraus der 31.2.2002.
Diesen gibt es nicht, also die 3 Tage in den neuen Monat übernommen wird zum 3.3.2003 und schon haben wir die 23 Tage.
Und siehe nächste Kurzbeispiel:
 
31.07.200226.03.20041724
 

Hier liefert DateDif 24 Tage, weil es 2004 als Schaltjahr erkennt.
Peter Haserodt
  • Formelhilfe
  • Makroentwicklung
  • VBA-Programmierung
  • + + + + + + + + +
Was ist nun richtig und was ist nun falsch?
Zur Diskussion möchte ich hier auch folgendes stellen:
15.4.02 bis 05.04.04.
Dies sind definitiv 1 Jahr, 11 Monate und 21 Tage, da der März 31 Tage hat.
Und wenn ich dies so beachte, muss ich es sicherlich auch in den anderen Fällen tun - oder?

Schreiben Sie mir ihre Meinung dazu in Hallo!

Kurze Beschreibung der Datedif Funktion:
 
Datedif muss als erstes das kleinere Datum und als zweites das größere Datum und als drittes Argument eines der folgenden haben:
  
"y"Jahre zwischen zwei Daten
"m"Monate zwischen zwei Daten
"d"Tage zwischen zwei Daten
"ym"Monate zwischen zwei Daten
als wären die Jahre gleich
"yd"Tage zwischen zwei Daten
als wären die Jahre gleich
"md"Tage zwischen zwei Daten
als wären die Jahre und der Monat gleich
 

Weitere Artikel der Gruppe: Häufige Fragen Aus Excel Standard
Nach oben
ToDo
Google Werbung