0

Alter mit Monat berechnen - wer kann helfen?

Guten Morgen in die Runde,

ich möchte gern eine Warteliste in Ninox erstellen. Dazu muss ich das Alter berechnen können. Das ganze sollte wie folgt aussehen.

Geb.Datum = 12.05.2010 Jetzt soll ich das Alter mit heutigem Datum so anzeigen lassen: 10,5 Jahre. Wenn das aktuelle Datum sich jetzt ändert z.b 11.12.2020 dann soll das Alter so dargestellt werden: 10,11 Monate.

Wie ich das Alter berechne weiß ich, aber eben nicht wie ich ein Monat mit einfüge.

Ich hoffe mir kann jemand helfen.
Vielen Dank.

13 Antworten

null
    • Stephan_Haumann
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Kannst Du noch mal genauer sagen, wie es aussehen soll? Ich verstehe den Bezug oben nicht. 12.05.2010 ist Dein Geburtsdatum. Heute ist der 07.05.2020. Wie kommst Du jetzt auf "10,5". "10" sind die Jahre" und "5" ist der Geburtsmonat oder der heutige Monat?

    Weil wenn sich das aktuelle Datum ändert, schreibst Du beim 11.12.2020, dass "10,11" angezeigt werden soll.
    LG

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo David, die Anzeige soll kein Dezimalwert sein, sondern ein String nach dem Schema "Jahre,Monate"? Und die "10,11" am 11.12.2020 waren ein Tippfehler, weil es eigentlich "10,12" hätte heißen müssen? Falls ja, könnte man es so versuchen:

     

    let Jahre := year(today()) - year(Geburtsdatum);
    let Monate := month(today());
    text(Jahre) + "," + text(Monate)

     

    Wobei es für eine Sortierung hilfreich wäre, die Werte zweistellig darzustellen. Dann könnte die letzte Zeile lauten:

     

    format((Jahre, "00") + "," + format(Monate, "00")

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ah, Stephan hat die "10,11" auch nicht verstanden. Lag also nicht an mir. ;)

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Huhu,

    wow danke für die schnelle Antwort und den Lösungsvorschlag. @Der Copytexter hat mich denke ich richtig verstanden. Da ich aktuell noch auf der Arbeit bin, werde ich euch später einen Screenshot hochladen, wie ich mir das vorgestellt habe.

    Vorab aber besten Dank für eure Antworten.

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich habe das mal eben in Excel erstellt. Ich hoffe man kann verstehen was ich meine :-) 

    Beispiel

    Ich hoffe man kann das lesen...

    • Stephan_Haumann
    • vor 4 Jahren
    • Gemeldet - anzeigen

    ja dann passt die Formel von Copytexter, denke ich.

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    @ Stephan, danke für das Feedback. Ich probiere dies später aus und dann gebe ich ein Feedback. Vielen Dank!

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hm, ich bin mir da nicht so sicher. Um welche Spalte geht's denn jetzt genau: "Alter" oder "Eintrittsalter"? Und wie sieht die Formel dahinter aus, auf welches Datum wird Bezug genommen? 🤔

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    @ Der Copytexter,
    ich bezog mich bei meiner Frage auf das Geb.-Datum und dann das Alter.
    Hier die Excel Formel dazu: =WENN(D2;DATEDIF(D2;$K$1;"y")&" ; "&DATEDIF(D2;$K$1;"ym");"x")

    Im zweiten Schritt wäre dann das Geb.-Datum auf das Eintrttsalter bezogen.
    Hier die Excel Formel dazu: =WENN(D2;DATEDIF(D2;$H$2;"y")&" ; "&DATEDIF(D2;$H$2;"ym");"x")

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich habe gerade kein Excel zur Hand, aber wenn ich die Formel richtig interpretiere, dann geht es um die Berechnung des Alters in vollen Jahren und Monaten. Bei deinem eingangs genannten Beispiel "12.05.2010" müsste demzufolge am heutigen Tag "9 ; 11" herauskommen, nicht "10,5". Und am 11.12.2020 wäre das Ergebnis "10 ; 6" anstatt "10,11". 

     

    Falls ich mich nicht irre und es tatsächlich um die Berechnung des Alters in Jahren und Monaten geht, dann könnte man es so versuchen:

     

    let Monate := month(today()) - month(Geburtsdatum) + 1;
    let Jahre := year(today()) - year(Geburtsdatum);
    if Monate < 0 then
        Monate := 12 + Monate;
        Jahre := Jahre - 1
    end;
    format(Jahre, "00") + " ; " + format(Monate, "00")

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    @ Der Coptytexter, 
    deine Code stimmt. Kannst du mir jetzt noch sagen, wie ich das Eintrittsdatum berechne? 
    Das bekomme ich irgendwie nicht auf den Schirm :-/. 

    Besten Dank!

    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Ich nehme an, du meinst das Eintritts-ALTER. Wenn ich die Formel ($H) und den Excel-Screenshot richtig interpretiere, dann ist das die Differenz zwischen Geburtsdatum und dem Datum 'Wunschaufnahme'.

     

    Mit oben stehender Formel hatten wir die Differenz zwischen Geburtsdatum und dem heutigen Tag (= "today()") berechnet. Um nun statt "heute" ein anderes Datum zur Berechnung heranzuziehen, muss man in den ersten beiden Zeilen der Formel nur die Bezeichnung ändern. Statt "today()" zum Beispiel 'Wunschaufnahme' (oder wie immer das Feld mit dem Bezugsdatum heißen mag):

     

    let Monate := month(Wunschaufnahme) - month(Geburtsdatum) + 1;
    let Jahre := year(Wunschaufnahme) - year(Geburtsdatum);
    ...

     

    Rest wie gehabt.

    • davidjurzak
    • vor 4 Jahren
    • Gemeldet - anzeigen

    @ Der Copytexter, 

    es funktioniert. Vielen lieben Dank für deine Hilfe.