Altersdiskussion
Der Kummerbox-Beitrag «Das Alter auf einen Blick» von letzter Woche hat diverse Reaktionen ausgelöst. Die Diskussion gibt es unter www.kummerbox.ch.
Diskussion zum Kummerbox-Beitrag «Das Alter auf einen Blick» vom 19. Februar 2007
Die richtige Excel-Altersformel
Wie berechnet man in Microsofts Tabellenkalkulation anhand des Geburtsdatums das Alter? Diese scheinbar simple Frage hat unter den Kummerbox-Lesern für Diskussionen gesorgt.
Am 19. Februar 2007 erschien in der Kummerbox der Beitrag «Das Alter auf einen Blick». Darin ging es um die Berechnung des Alters einer Person. Die vorgestellte Formel rechnet das heutige Datum in Zelle A1 und das Geburtsdatum in Zelle B1 jeweils in eine Angabe in Jahren um und subtrahiert dann das Geburtsdatum:
=(Jahr(A1)+(A1-Datum(Jahr(A1);1;1))/365)-(Jahr(B1)+(B1-Datum(Jahr(B1);1;1))/365)
Das gehe doch auch viel einfacher, fanden nun viele Kummerbox-Leser und stellten eigene Lösungen zur Debatte. Das sind die vorgeschlagenen Alternativ- und Irrwege:
Eventuell ist unser Weg der einfachere:
=(A1-B1)/365
Das wäre eine sehr einfache Lösung, gäbe es nicht die aus Sicht des Excel-Anwenders unpraktische Einrichtung der Schaltjahre. Diese sorgen für eine Ungenauigkeit, die immer grösser wird, desto höher das berechnete Alter ist. Bei einer 107 Jahre alten Person sorgen die unterschlagenen Schalttage für eine Abweichung von 0,07 Jahre. Das sind immerhin 27 Tage.
Es gibt einen einfacheren Weg: Die Formel =Heute()-A1 ergibt das Alter. Man muss dann nur noch ein benutzerdefiniertes Zahlenformat verwenden. Man formatiert das Resultat mit JJ.MM und erhält eine Angabe in Jahren und Monaten (JJ steht für Jahre, MM für Monate).
Nein, mit diesem Zahlenformat sieht die Lösung bei Altersangaben unter hundert Jahren richtig aus, ist aber falsch. Beim Beispiel der im Jahr 1900 geborenen Person wäre die Altersangabe sieben Jahre und die Person müsste schleunigst in die erste Klasse einrücken.
Das Format «JJ» kann man nur bei Datumsangaben, nicht bei Zeitangaben in Jahren verwenden. Dass dem so ist, können Sie feststellen, indem Sie das Jahr vierstellig formatieren. Weisen Sie dazu einer Altersangabe das Zahlenformat JJJJ zu. Das Alter wird dann als «1915» angegeben zweistellig eben «15». Dafür gäbe es natürlich eine hemdsärmlige Korrekturmethode: Man zieht vom Resultat 1900 ab und erhält das richtige Resultat. Das stimmt, aber nur deswegen, weil Excels Zeitrechnung im Jahr 1900 anfängt.
Meines Erachtens ist die einzig richtige Funktion, um Jahre, Monate, Tage korrekt zu berechnen, die leider nicht dokumentierte Funktion DATEDIF:
=DATEDIF(B1;A1;"y")&" Jahre "&DATEDIF(B1;A1;"ym")&" Monate"
Die Kummerbox hat DATEDIF in einem früheren Beitrag zum Thema («Happy birthday!», erschienen am 29. April 2002) vorgestellt. Allerdings erwähnen Sie das Problem selbst. DATEDIF ist nicht dokumentiert. Die Funktion wird in der Excel-Hilfe nicht erwähnt und steht im Funktions-Assistent nicht zur Auswahl. Die ausführliche Dokumentation ist für die Verwendung aber absolut unverzichtbar. dafür fehlt in der Zeitung der Platz. Es sei an dieser Stelle nachgeholt. DATEDIF berechnet Differenzen zwischen Datumswerten. Die Funktion hat diese Syntax:
=DATEDIF(Startdatum;Enddatum;"Zeiteinheit")
Als Zeiteinheit geben Sie Folgendes an:
y für komplette Jahre
m für komplette Monate
d für Tage
md für den Unterschied in Tagen; Monate und Jahre werden ignoriert
ym für den Unterschied in Monaten; Tage und Jahre werden ignoriert
yd für den Unterschied in Tagen, Jahre werden ignoriert
Und, der Vollständigkeit halber, der Hinweis auf die Analyse-Formel BRTEILJAHRE. Mehr zu dieser Möglichkeit erläutert Microsoft auf Office Online:
http://office.microsoft.com/de-de/excel/HP052093441031.aspx
Formel-Akrobatik für Altersangaben.

