 |
Korrektes Berechnen des Lebensalters
Bei der Auswertung von Tests mit Kindern muß ich als Psychologe deren Alter genau ausrechnen. Selbst unter Verwendung der Formeln aus Tip 42 im Heft 6/99, wo Sie schon einmal eine Lösung vorgestellt hatten, taucht bei mir ein Fehler auf. Vielleicht können Sie mir irgendwie weiterhelfen?
Sofern alle Geburtsdaten nach dem 1.3.1900 liegen, rechnet Excel mit der Formel »Alter=HEUTE()-Geburtsdatum« zunächst ganz richtig die Anzahl der Tage des Alters aus. Bei der direkten Ausgabe interpretiert Excel diese Tagesanzahl auch wieder als Datum, wobei der Nullpunkt der Zeitrechnung am 1.1.1900 liegt.
Dabei beginnt die Zählung der Jahre bei null (eigentlich 1900 - es werden jedoch nur die letzten beiden Stellen angezeigt) und die Zählung der Monate bei eins. Deshalb entsteht scheinbar ein Ergebnis mit der richtigen Anzahl an Jahren und mit einer um eins zu großen Anzahl an Monaten. Die Tagesanzahl ist wiederum richtig.
Eine Darstellung des Alters in Jahren, Monaten und Tagen ist allgemein ein Kompromiß, weil weder Jahreslänge noch Monatslänge einheitlich sind.
Um die stets verbleibenden Abweichungen zwischen der Berechnung per Hand und der Berechnung mit Excel wenigstens zu minimieren, können Sie in den Formeln von Tip 42 aus der CHIP-Ausgabe 6/99 den exakteren Wert 365,2425 Tage für die Jahreslänge und - daraus abgeleitet - eine mittlere Monatslänge von einem Zwölfteljahr, also 30,436875 Tage, verwenden. Es ergeben sich mit diesen Werten die Zeilen des kurzen Listings im Kasten unten rechts. Für Ihr Beispiel erhalten Sie damit tatsächlich dasselbe Ergebnis wie bei der Berechnung von Hand. Eine komplette Beispielberechnung als Tabelle mit Excel finden Sie auf der Heft-CD unter dem CHIP-Code ALTER. Weil jedoch in einer Zeitdifferenz keine eindeutige Definition der Schaltjahre und der tatsächlich vorkommenden Monate möglich ist, können auch mit dieser Variante Abweichungen auftreten, die prinzipieller Natur sind.
Um das zu umgehen, können Sie auch versuchen, die Datumsangaben in die Jahreszahlen einerseits und das restliche Datum andererseits zu zerlegen, wie es für Berechnungen mit Daten vor dem Jahr 1900 auf jeden Fall erforderlich ist.
Listing »Alter«
Jahre=GANZZAHL (Alter/365,2425) Monate=GANZZAHL (REST (Alter; 365,2425)/30,436875) Tage=GANZZAHL (REST (REST (Alter;365,2425);30,436875))
|
 |