0

Anzahl Monate berechnen

Wie berechne ich die Anzahl der Monate zwischen 2 Daten. In Excel würde man das so lösen: =DATEDIF(A1;B1;“m”).

In Ninox habe ich bisher nur die Funktion days() für der Berechnung der Tage zwischen 2 Daten gefunden. Wenn ich die so errechneten Werte durch 30 teile bekomme ich dann aber bei größeren Abständen zwischen den Daten falsche Werte. 

Hat da jemand eine Idee?

3 Antworten

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

    Hallo, wenn es wie bei der Excel-Funktion um volle Monate geht, dann könnte man das bei Ninox z. B. so machen:

    let myZ := year(Datum2) * 12 + month(Datum2) - (year(Datum1) * 12 + month(Datum1));
    if day(Datum1) < day(Datum2) then myZ else myZ - 1 end

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo HDS,

    wenn es öfters vorkommt würde ich eine globale Funktion schreiben (Admin Modus->Optionen->Globale Funktiondefinitionen:

    ---

    function getMonths(Start : date,End : date) do
    let myStart := Start;
    let i := 0;
    while myStart <= Ende do
    i := i + 1;
    myStart := date(year(Start), month(Start) + i, day(Start))
    end
    ;
    i - 1
    end;

    ---

    Jetzt kannst du in einem Berechnungsfeld schreiben:

    ---

    getMonths(STARTDATUM,ENDDATUM)

    ---

    Leo

    • NR Dataservice GmbH
    • HDS
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Perfekt! Da ich diese Funktion öfter benötige, habe ich die Globale Funktion genutzt. Vielen Dank