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
-
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
-
Hi Leo,
nochmals vielen Dank! Klappt vorzüglich!
Kurze Nachfrage: Was bedeutet "let myN"?
Schöne Grüße,
ali -
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
endJetzt 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
-
Lieber Leo,
vielen Dank!Kann gut sein, ich stelle weitere Fragen … ;-)
Content aside
- Status Answered
- vor 5 JahrenZuletzt aktiv
- 4Antworten
- 1035Ansichten