1

aufgerundete Monatsberechnung

Hallo liebe Ninox Anwender,

habe folgendes Problem wenn ich von 28.3..2017 bis 01.04.2018 die aufgerundeten Monate haben möchte also (13 Monate, dann kommt bei mir eine Komma Zahl raus (12,098360655737705)

Die derzeitige Formel lautet:

if not bis or bis > today() then
number(today() - von) / 2635200000
else
number(bis - von) / 2635200000
end

 

Hat wer ein Tipp was ich hier ändern muss, damit 13 Monate da steht ?

 

LG Christian

12 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 4 Jahren
    • Gemeldet - anzeigen
    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo, nein klappt leider noch nicht. Aber vlt war meine Beschreibung auch noch nicht gut genug. 

    Also wenn ich von 28.03.2017 bis 27.03.2018 auswerte sollten 12 Monate rauskommen
    Wenn ich aber vom 28.03.2017 bis 01.04.2018 auswerte sollten 13 Monate rauskommen

    Interessanterweise fürs Jahr habe ich eine Formel die Funktioniert. Allerdings rechnet die Formel bis heute und nicht in einem ausgewähltem Zeitraum  

    Formel: age(min(von))

    Hat wer noch eine idee?

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

    Okay, man könnte das " + 1" bei den Monaten einfach weglassen und die Jahre mit 12 multiplizieren:

     

    let Monate := month(Ende) - month(Anfang);
    let Jahre := year(Ende) - year(Anfang);
    if Monate < 0 then
        Monate := 12 + Monate;
        Jahre := Jahre - 1
    end;
    Jahre * 12 + Monate

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Christian,

    wenn man die Formel von Copytexter modifiziert, dann sollte es funktionieren:

    ---

    let Monate := month(Ende) - month(Anfang);
    let Jahre := year(Ende) - year(Anfang);
    if Monate < 0 then
    Monate := 12 + Monate;
    Jahre := Jahre - 1
    end;
    Monate + 12 * Jahre

    ---

    Leo

    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Danke Copytexter für den Anfang und Danke Leo für die Modifizierung.   Jetzt klappt es :)

    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Eine kleines anliegen habe ich noch, bisher war es so, dass wenn ich im Datumsfeld (Bis) nichts drin stehen hatte automatisch mit dem heutigen Datum gerechnet habe. 
    Das sah so aus. 

    if not 'Rechner bis' or 'Rechner bis' > today() then
    floor(number(today() - 'Rechner von') / 2635200000)
    else
    number('Rechner bis' - 'Rechner von') / 2635200000
    end

    besteht die Möglichkeit diese Funktion mit der anderen zu vereinen? Habe eben mein Glück probiert, aber ich habe leider zu wenig Programmierkenntnisse dazu.

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

    Einfach den Namen des Datumsfeldes 'Ende' gegen die Datumsangabe today() austauschen:

     

    let Monate := month(today()) - month(Anfang);
    let Jahre := year(today()) - year(Anfang);
    if Monate < 0 then
       Monate := 12 + Monate;
       Jahre := Jahre - 1
    end;
    Jahre * 12 + Monate

    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    klappt leider noch nicht. 
    Der Wunsch wäre, wenn nichts drin steht mit dem heutigen Datum gerechnet wird.
    Wenn aber ein begrenztes Datum aus der Vergangenheit drin steht, dass dann nur mit diesem gerechnet wird.

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

    Was genau heißt denn "klappt nicht"? Ist das berechnete Ergebnis falsch?

    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    es schreibt immer das Ergebnis für das heutige Datum rein

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

    Okay, neuer Versuch:

     

    let myBis := if 'Rechner bis' >= 'Rechner von' then 'Rechner bis' else today() end;
    let Monate := month(myBis) - month('Rechner von');
    let Jahre := year(myBis) - year('Rechner von');
    if Monate < 0 then
        Monate := 12 + Monate;
        Jahre := Jahre - 1
    end;
    Jahre * 12 + Monate

    • Chris.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    jab das hat geklappt, Besten Dank für die Unterstützung, echt cool von euch, freut mich voll. Mercí und ein schönes Wochenende :)