Hallo,
es scheint in Calc keine fertige Funktion zu geben, um das Alter (in
Jahren) von jemandem zu berechnen. Wie geht das am besten?
Sowas wie
=QUOTIENT((HEUTE()-A1);365)
ist ja wegen der Schaltjahre ungenau.
Liebe Grüße
Micha
Hallo,
es scheint in Calc keine fertige Funktion zu geben, um das Alter (in
Jahren) von jemandem zu berechnen. Wie geht das am besten?
Sowas wie
=QUOTIENT((HEUTE()-A1);365)
ist ja wegen der Schaltjahre ungenau.
Liebe Grüße
Micha
Hallo Micha,
anbei ein Vorschlag:
In A steht das Geburtsdatum(muss nicht ISO8601 sein)
in B der Name; in C ist noch ein bisschen Text dabei, kan man aber auch weglassen. ("heute" bezieht sich immer auf das aktuelle Datum)
A B C
1970-01-01 UNIX ist heute 50 Jahre, 4 Monate und 7 Tage alt
Die Formel in C lautet:
=" ist heute " & DATUMDIF(Ax;HEUTE();"Y") & WENN((DATUMDIF(Ax;HEUTE();"Y"))=1;" Jahr, ";" Jahre, ") & DATUMDIF(Ax;HEUTE();"YM") & WENN((DATUMDIF(Ax;HEUTE();"YM"))=1;" Monat ";" Monate ") & "und " & DATUMDIF(Ax;HEUTE();"md") & WENN((DATUMDIF(Ax;HEUTE();"YD"))=1;" Tag alt.";" Tage alt.")
Fuer x in der Formel ist die jeweilige Zeile einzusetzen.
Viele Gruesse
Veit
Hallo Micha,
willst du das Alter zu einem Stichtag oder zum aktuellen Tag.
Stichtag:
WENN(HEUTE()<Stichtag;JAHR(HEUTE())-JAHR(Geb_Datum)-1;JAHR(HEUTE())-JAHR(Geb_Datum))
Zum jeweils aktuellen Tag:
WENN(HEUTE()<DATUM(TAG(Geb_Datum);Monat(Geb_Datum);JAHR(HEUTE); ....)
Ist vielleicht nicht die eleganteste Variante aber sollte funktionieren.
Gruß
Ulrich
Hallo
Wie wär's denn mit der schlichten Formel:
=JAHRE(A1;HEUTE();0)
o{®©}o
✓
-------- Originale Nachricht --------
Hallo,
da ich vorher nicht am Rechner saß, hab' ich die Formeln nicht alle
parat gehabt, aber klar einfacher geht's nicht.
GrußUlrichAm Samstag, den 09.05.2020, 08:40 +0200 schrieb Werner Tietz:
Hallo Micha
Sowas wie
=QUOTIENT((HEUTE()-A1);365)
ist ja wegen der Schaltjahre ungenau.
Warum meinst Du, das sei zu ungenau? Es geht ja mit der Funktion QUOTIENT nur um den ganzzahligen Anteil - da macht der knappe Vierteltag Unterschied pro Jahr für realistische Zahlen keinen Unterschied - Menschen werden ja (ausser kurz nach der Schöpfung) nicht mehrere 100 Jahre alt.
Ich hab's auf die Schnelle mal probiert und mit dem Ergebnis der Formel von Werner verglichen (die zugegeben viel eleganter ist ;-)) ) und selbst mit dem Alter meiner (leider) verstorbenen Grossmutter, Geburtstag 2. Februar 1899, funktioniert es und liefert das gleiche Ergebnis.
Freundliche Grüsse
Ernst
Hallo Micha,
Sowas wie
=QUOTIENT((HEUTE()-A1);365)
ist ja wegen der Schaltjahre ungenau.
Du hast ja schon mehrere Antworten bekommen, aber ich gebe meinen Senf
trotzdem mal dazu:
Mal angenommen du würdest 100 Jahre alt, dann kommen da maximal 25
Schalttage zusammen (eines weniger, wenn die Jahre 1900 oder 2400 in
dem Zeitraum liegen).
Rechnest du also 25/365 erhältst du (gerundet) 0,0685. Du würdest an
deinem 100. Geburtstag mit Lebenstage/365 also gerade mal 100,0685
als Alter incl. Nachkommastellen bekommen.
Würdest du Runden, so müssten die Nachkommastellen mindestens 0,5
betragen. Du müsstest also 0,5/0,0685=7,3 Jahrhunderte alt werden,
damit du dich verrechnest
Wenn du wie oben QUOTIENT() verwendest (alternativ GANZZAHL()), dann
dauert es sogar fast doppelt so lange, da dann sogar 0,99999 unter den
Tisch fiele.
Ich denke, du bist mit dem Quotienten 365 definitiv auf der sicheren
Seite, wenn du das Lebensjahr eines Menschen berechnest. Selbst der
"Highlander" ist nicht so alt geworden, dass du dir deswegen sorgen
machen müsstest
Gruß,
Michael
Hallo Micha,
Sowas wie
=QUOTIENT((HEUTE()-A1);365)
ist ja wegen der Schaltjahre ungenau.Du hast ja schon mehrere Antworten bekommen, aber ich gebe meinen Senf
trotzdem mal dazu:Mal angenommen du würdest 100 Jahre alt, dann kommen da maximal 25
Schalttage zusammen (eines weniger, wenn die Jahre 1900 oder 2400 in
dem Zeitraum liegen).Rechnest du also 25/365 erhältst du (gerundet) 0,0685. Du würdest an
deinem 100. Geburtstag mit Lebenstage/365 also gerade mal 100,0685
als Alter incl. Nachkommastellen bekommen.
Wenn man es so genau haben will (ohne die bereits andernorts erwähnten
/eigentlich/ zur Verfügung stehenden Funktionen zu benutzen), dann darf
man halt nicht QUOTIENT verwenden, sondern muss direkt durch 365,2425
teilen, und das ergebnis abrunden.
Würdest du Runden, so müssten die Nachkommastellen mindestens 0,5
betragen. Du müsstest also 0,5/0,0685=7,3 Jahrhunderte alt werden,
damit du dich verrechnest
Nein; eine solche Berechnung liefert schon viel früher an einzelnen
Tagen im Jahr grundsätzlich das falsche Alter. Eine Division durch
365,00 (QUOTIENT bassiert ja de Facto auf so einer Division) kann dann
schon die nächste Ganzzahl erreicht haben, währen aufgrund eines
Schalttages tatsächlich selbige eigentlich noch nicht wirklich erreicht
ist (also z. B. in einem Fall, ich fantasiere mal, 4,001 Jahre heraus
käme, es aber eigentlich erst 3,997 Jahre sind, oder so). Ein oder zwei
Tage später passt es dann zwar wieder, aber wenn du die Berechnung
ausgerechnet an einem dieser betreffenden Tage ausführst, bekommst du
ein falsches Ergebnis.
Wolfgang
Hallo Wolfgang,
Wenn man es so genau haben will (ohne die bereits andernorts erwähnten
/eigentlich/ zur Verfügung stehenden Funktionen zu benutzen), dann
darf man halt nicht QUOTIENT verwenden, sondern muss direkt durch
365,2425 teilen, und das ergebnis abrunden.
Wenn du alle Regelungen zu Schaltjahren berücksichtigst, hast du mit
365,2425 natürlich den exakten Quotienten.
Wenn du nur Daten zwischen 1901 bis 2399 betrachtest, kannst du auch
mit 365,25 rechnen. 2000 war ja ein Schaltjahr...
> Würdest du Runden, so müssten die Nachkommastellen mindestens 0,5
> betragen. Du müsstest also 0,5/0,0685=7,3 Jahrhunderte alt werden,
> damit du dich verrechnestNein; eine solche Berechnung liefert schon viel früher an einzelnen
Tagen im Jahr grundsätzlich das falsche Alter. Eine Division durch
365,00 (QUOTIENT bassiert ja de Facto auf so einer Division) kann dann
schon die nächste Ganzzahl erreicht haben, währen aufgrund eines
Schalttages tatsächlich selbige eigentlich noch nicht wirklich
erreicht ist (also z. B. in einem Fall, ich fantasiere mal, 4,001
Jahre heraus käme, es aber eigentlich erst 3,997 Jahre sind, oder
so). Ein oder zwei Tage später passt es dann zwar wieder, aber wenn
du die Berechnung ausgerechnet an einem dieser betreffenden Tage
ausführst, bekommst du ein falsches Ergebnis.
Du hast recht: Nach 4*365 Tagen würdest du als Alter 4 Jahre bekommen,
obwohl der Schalttag für das Schaltjahr noch fehlt. Du würdest alle 4
Jahre für einen Tag das Alter um 1 Jahr überschätzen (exakt vor dem
eigentlichen Geburtstag).
Das hatte ich vorhin nicht bedacht.
Gruß,
Michael