Alter mit Excel ausrechnen

  • Hi,


    ich habe ein kleines Problem:


    Wie kann man in Excel anhand von Formeln sein Alter in Tagen/Monaten/Jahren berechnen wenn man nur sein Geb.-Datum vorgeben kann?


    Irgendwie komme ich nicht auf den richtigen Dreh


    Gru?
    CH

  • vielleicht reicht's ja schon...


    Ich würde jetzt mal die HEUTE()-Funktion vorschlagen:


    =Heute()-A1


    A1 ist das Feld mit deinem Geburtstag; formatiert als Datum.
    Die HEUTE()-Funktion setzt den heutigen Tage in Systemzeit ein. (edit: Das Feld mit der Formel sollte als Zahl, nicht als Datum formatiert sein)


    Damit errechnet Excel das exakte Alter in Tagen.


    Eine automatische Umwandlung der genauen Tageanzahl in Jahren, Monate und Tage kann ich mir im augenblick nicht vorstellen...


    Grüße, hoffe geholfen zu haben
    Stefan

  • Re: vielleicht reicht's ja schon...


    Zitat

    Original geschrieben von T600 Damit errechnet Excel das exakte Alter in Tagen.


    Eine automatische Umwandlung der genauen Tageanzahl in Jahren, Monate und Tage kann ich mir im augenblick nicht vorstellen...


    Auch dies ist mit einigem Überlegen möglich:


    Voraussetzung: In Zelle A1 steht das Geburtsdatum. In die Zelle B1 soll das Alter in Jahren, in Zelle C1 die Monate und in Zelle D1 die Tage.


    Dann muss in Zelle B1 folgende Gleichung eingetragen werden:


    =WENN(MONAT(HEUTE())>MONAT(A1); JAHR(HEUTE())-JAHR(A1); WENN(MONAT(HEUTE())=MONAT(A1); WENN(TAG(HEUTE())>=TAG(A1); JAHR(HEUTE())-JAHR(A1); JAHR(HEUTE())-JAHR(A1)-1); JAHR(HEUTE())-JAHR(A1)-1))




    In Zelle C1 muss folgendes stehen:


    =WENN(MONAT(HEUTE())>MONAT(A1); WENN(TAG(HEUTE())>=TAG(A1); MONAT(HEUTE())-MONAT(A1); MONAT(HEUTE())-MONAT(A1)-1); WENN(MONAT(HEUTE())=MONAT(A1); WENN(TAG(HEUTE())>=TAG(A1); MONAT(HEUTE())-MONAT(A1); MONAT(HEUTE())-MONAT(A1)-1); WENN(TAG(HEUTE())>=TAG(A1); MONAT(HEUTE())+12-MONAT(A1); MONAT(HEUTE())+12-MONAT(A1)-1)))



    Und Zelle D1 muss lauten:


    =HEUTE()-DATUM(JAHR(HEUTE());MONAT(HEUTE())-1;TAG(A1))



    Alle Angaben wie immer ohne Gewähr. ;)


    Und nun alle mal testen und Fehler - wenn vorhanden - melden.


    mfg
    Foxy

    Errare humanum est!

  • Keine Ahnung. Aber sind leider auch noch nicht ganz fehlerfrei. Wenn ich morgen mal Zeit habe, werde ich sie überarbeiten.


    mfg
    Foxy

    Errare humanum est!

  • Booooaaahhh, warum so kompliziert, es gibt doch die Funktion DATEDIF.
    Hier wirds detailliert beschrieben, wie die Funktion zu bedienen ist.
    ....google sei Dank..:p


    Tobi

  • Zitat

    Original geschrieben von tobins
    Booooaaahhh, warum so kompliziert, es gibt doch die Funktion DATEDIF.


    Tobi


    Sorry, tobins, aber mit der Formel DATEDIF() kommt man nicht auf das Ergebnis der Irrsinnsformel von Foxy.
    Du kannst damit die genaue Anzahl der Jahre oder Monate oder Tage errechnen, aber eben nicht Jahre, Monate und Tage gleichzeitig.


    Foxy:
    Ich habe zwei Daten probiert, aber keinen Fehler entdeckt. Was soll denn noch verbessert werden?

  • Zitat

    Original geschrieben von T600
    ... mit der Formel DATEDIF() kommt man nicht auf das Ergebnis der Irrsinnsformel von Foxy.
    Du kannst damit die genaue Anzahl der Jahre oder Monate oder Tage errechnen, aber eben nicht Jahre, Monate und Tage gleichzeitig.


    Probier mal mit Foxy' s "Irrsinnsformel" ein Datum einen Tag nach dem aktuellen, z.B. 30.01.1950, dann kommen falsche Werte raus. Da stellt sich dann schnell die Frage, kann es -1 Monate geben?


    DATEDIF() ist genau die richtige Funktion, denn mit DATEDIF() kann man folgende Werte erhalten:


    Zeiteinheit Beschreibung


    y Anzahl kompletter Jahre
    m Anzahl kompletter Monate
    d Anzahl der Tage
    md Unterschied in Tagen, wobei Monate und Jahre ignoriert werden
    ym Unterschied in Monaten, Tage und Jahre bleiben unberücksichtigt
    yd Unterschied in Tagen, wobei die Jahre ignoriert werden


    Für unser Beispiel heißt das folgendes konkret:


    Zelle A1 enthält den Geburtstag


    Zelle A2 die Anzahl Jahre:


    =DATEDIF(A1;HEUTE();"y")


    Zelle A3 die Anzahl Monate:


    =DATEDIF(A1;HEUTE();"ym")


    Zelle A4 die Anzahl Tage:


    =DATEDIF(A1;HEUTE();"md")


    mannesmann


    P.S. Für alle, die auf Wahnsinnsformel stehen, habe ich hier folgende Lösung erarbeitet:


    A1 wie vor


    A2 =ABRUNDEN(((HEUTE()-A1)/365,2425);0)


    A3 =ABRUNDEN((((HEUTE()-A1)-(A2*365,2425))/30,4375);0)


    A4 =ABRUNDEN(((HEUTE()-A1)-(A2*365,2425)-(A3*30,4375));0)


    Diese Formeln liefern aber auch nur teilweise korrekte Ergebnisse, da ich vom "Normjahr" und "Normmonat" ausgehe, um die Probleme des Schaltjahres und der ungleichlangen Monate zu berücksichtigen. Tatsächlich korrekte Werte liefert nur DATEDIF().

  • Man kann im Prinzip schon das "Schaltjahr" berücksichtigen. Schaltjahr "Formel" bzw. Bedingung ist ja nicht so schwierig. Hab hier mal ne ähnliche Formel gepostet.


    Angenommen Geburtsdatum ist in 3 seperaten Zellen (um es einfacher zu machen).


    Jahre rauskriegen ist ja kein Problem.
    Monate wohl auch nicht.


    Tage ist schon schwieriger... Vorgehensweise wäre also vom Ausgangsdatum ausgehend:


    1. Abfrage welcher Monat für den Geburtstag - dann entweder bis 30, 31, 29 oder 28 "hochaddieren" (incl. Schaltjahr Abfrage)
    2. Tage bis aktuelles (Tages)datum dazuaddieren.


    zu 1.: so in etwa (nur vom Sinn her):


    Zelle (Tage) = IF Zelle (Geburtsmonat=1,3,5,etc.) 31 - Zelle (Geburtstag), IF Zelle (Geburtsmonat=4,6,9, etc.) 30 - Zelle (Geburtstag), IF Zelle (Geburtsmonat=2) IF Zelle (Geburtsjahr) (hier die Schaltjahrabfrage einbauen) 29 else 28 - Zelle (Geburtstag) + Zelle (Tag(heute))


    Schaltjahr Abfrage war ja... durch 4 teilbar (mod 4 = 0), aber nicht wenn durch 100 außer wenn wieder durch 400...

    Um wirklich Erfolg im Leben haben zu können, muß man 2 Regeln stets befolgen:


    1. Erzähl nicht alles, was du weißt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!