Mitunter ist es erforderlich das Alter einer Person zu berechnen. In Excel selbst gibt es verschiedene Wege, in Power Query stelle ich Ihnen einem möglichen Weg vor, der ganz ohne Formeln auskommt und natürlich auch richtig rechnet. Und um das auch mit einer größeren Zahl von Datensätzen durchzuexerzieren, laden Sie diese Datei mit 1.000 Pseudo-Namen und Geburtstagen von unserem Server herunter.
Nach dem Import werden Sie erkennen, dass Ina Herbst (Zeile 109) genau heute Geburtstag hat. Das habe ich in den Quelldaten per Formel so festgelegt. Und da sich das Geburtsjahr auch wegen des zufällig berechneten Datums stets ändert, kann ich Ihnen das Alter nicht vorhersagen. Dieser Datensatz dient in erster Linie der Kontrolle, dass auch am eigentlichen Geburtstag das Alter korrekt berechnet wird.
Hinweis: Wenn Sie mit kalendarischen Daten vor dem 1.1.1900 arbeiten, dann wird Power Query das entsprechende Feld als Text darstellen und die gesamte Spalte als Datentyp Beliebig. In dem Fall ist es erforderlich, die Spalte(n) explizit als Datum zu formatieren.
Nach dem Import der Daten in den Power Query-Editor werden Sie sehen, dass der Geburtstag grundsätzlich als Datum/Zeit importiert worden ist. Ein aus meiner Sicht unschöner Standard, den ich leider nicht per Einstellung abstellen kann. Okay, ich persönlich passe den Datentyp der Optik wegen einfach auf Datum an, Sie können sich aber problemlos diesen Schritt ersparen; PQ rechnet so oder so korrekt. Die Zwischenergebnisse werden sich aber unterschiedlich darstellen.
Wechseln Sie nun zum Menü Transformieren. Markieren Sie die Spalte¿ Geburtstag und Klicken Sie dann in der Gruppe Datums- und Uhrzeitspalte auf Datum. Wählen Sie hier den obersten Eintrag Alter. Das Ergebnis wird Sie vielleicht etwas irritieren, hier ein Beispiel (Status heute, 06.09.2020, 17:40 Uhr):
Das Ergebnis dieser Berechnung ist ein Wert im Datentyp Dauer (Duration). Vor dem trennenden Punkt ist die Anzahl der Tage seit dem Geburtstag angegeben, danach entweder die vergangene Zeit seit 00:00 Uhr (falls Sie die Spalte Geburtstag in der ursprünglichen Formatierung belassen haben) oder falls Sie zu Beginn die Spalte Geburtstag als (nur) Datum formatiert hatten, dann steht immer 00:00:00 als Zeitangabe in der berechneten Spalte.
Um nun das exakte Alter zu berechnen, bei markierter Spalte Geburtstag wiederum in der Gruppe Datums- und Uhrzeitspalte ein Klick auf die Schaltfläche Dauer und dort dann die Zeile Jahre gesamt anklicken. Umgehend wird Ihnen in landestypischer Formatierung (hier in Deutschland also mit einem Dezimalkomma) die Anzahl der Jahre seit der Geburt angezeigt. Da aber im Normalfall nur die eigentliche Anzahl der vollen Jahre bei der erwünschten Ausgabe des Alters erwünscht ist, muss (nur) noch der Nachkommateil „abgeschnitten” werden. Und da die Altersangabe immer nur positiv sein kann, bevorzuge ich den Weg über Transformieren, Gruppe Zahlenspalte und dann Runden | Abrunden und das Ergebnis stimmt. Na ja, stimmt fast, denn die Überschrift muss natürlich noch angepasst werden; ich würde Alter in Jahren verwenden. Alternativ zum Abrunden können Sie auch im Menü Transformieren Gruppe Zahlenspalte die Auswahl Standard | Ganzzahldivision treffen und im Dialog als Wert eine 1 eingeben und dann bestätigen.
Hinweis: Das Ziel der Aufgabenstellung ist ja, das Alter der jeweiligen Person zu berechnen. Wenn Sie beispielsweise zu Vergleichszwecken auch noch den (eigentlichen) Geburtstag mit darstellen wollen, dann werden Sie zu Beginn eine Kopie der Spalte Geburtstag erstellen, dieser gewiss den Datentyp Datum zuweisen und spätestens zum Schluss die Überschrift wieder zu Geburtstag ändern. – Ach ja, falls Sie sich nun die Frage stellen, ob auch ## Jahre, ## Monate und ## Tage als Ergebnis möglich ist: Ja, das geht auch in Power Query. Aber das würde bei weitem den Umfang dieses Quickies, ja sogar eines „normalen” Beitrages sprengen. Für Plain Excel gibt es da schon sehr viele Beispiel im Web.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 2,00 € freuen …