0

Abrunden nach Berechnung

Liebe Leute, 

hier nun eine mathematisch / logische Frage: 

Es geht um die Berechnung eines Überschusses. Dieser wird erst dann fällig, wenn zwei Bedingungen erfüllt sind: Er muss größer sein als 250 und er muss mindestenas 10% eines gegeben Werts betragen. Sind diese Bedingungen erfüllt, werden vom Überschuss 250 abgezogen. So weit so einfach, die Formel, die funktioniert, lautet:

if 'Überschuss brutto' < 250 then
0
else
if 'Überschuss brutto' > 'Möglicher Förderbetrag' / 10 then
'Überschuss brutto' - 250
else
0
end
end

Ist das Ergebnis > 0, soll es auf das nächste Hundert abgerundet werden. Diese Zahl ist dann der ”Nettoüberschuss“, mit dem weiter gerechnet wird. D. h.: Liegen die Werte nach der Formel oben zwischen 1 und 99 soll der "Nettoüberschuss" = 0 sein, zwischen 100 und 199 = 100 etc.

Hat jemand eine Idee, wie man diese Abrundungsformel einbauen kann?

Danke und schöne Grüße,

ali

4 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Ali,

    Ich würde es so probieren:

    ---

    let myN := if 'Überschuss brutto' > 250 and 'Überschuss brutto' > 'Möglicher Förderbetrag' / 10 then
    'Überschuss brutto' - 250
    else
    0
    end;
    floor(myN / 100) * 100

    ---

     

    Leo

    • Ali
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hi Leo, 
    nochmals vielen Dank! Klappt vorzüglich!
    Kurze Nachfrage: Was bedeutet "let myN"? 
    Schöne Grüße,
    ali

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    mit let myN deklarierst du eine Variabel namens myN. Dieser Variable gibst du den Wert:

    if 'Überschuss brutto' > 250 and 'Überschuss brutto' > 'Möglicher Förderbetrag' / 10 then
    'Überschuss brutto' - 250
    else
    0
    end

    Jetzt kannst du diese Variable überall innerhalb der Formel einsetzen. Man kann in deinem Fall auch ohne Variable auskommen

     

    floor((if 'Überschuss brutto' > 250 and 'Überschuss brutto' > 'Möglicher Förderbetrag' / 10 then
    'Überschuss brutto' - 250
    else
    0
    end)/100)*100

     

    Leo

    • Ali
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Lieber Leo,
    vielen Dank!

    Kann gut sein, ich stelle weitere Fragen … ;-)

Content aside

  • Status Answered
  • vor 5 JahrenZuletzt aktiv
  • 4Antworten
  • 1035Ansichten