 |
|
 |
 |
| Die Formeln können nicht nur einen fix vorgegeben Rechengang
enthalten, der Ablauf der Berechnung kann vielmehr bei Verwendung von Variablen abhängig
von den aktuellen Werten auf mehrere Arten beeinflusst werden. |
 |
| Vergleichsoperationen |
| Um zwei Werte in einer Formel miteinander zu vergleichen,
können folgende Operatoren verwendet werden: |
|
= |
gleich |
|
|
# |
ungleich |
|
|
> |
größer als |
|
|
>= |
größer oder gleich (nicht kleiner) |
|
|
< |
kleiner als |
|
|
<= |
kleiner oder gleich (nicht größer) |
|
|
| Die Vergleichsoperationen liefern den Wert 1, wenn die
angegebene Bedingung erfüllt ist, andernfalls wird der Wert 0 erzeugt. Diese
Vergleichsergebnisse können auch in die Berechnungen einbezogen werden. |
|
 |
| Bedingte Anweisungen |
| Fallweise sollen einzelne Berechnungen nur unter
bestimmten Voraussetzungen ausgeführt werden. Es gilt also eine Vorschrift "wenn
xxx, dann yyy, sonst zzz". |
 |
| Den ersten Teil dieser Formulierung (die Bedingung
"wenn") haben wir gerade bei den Vergleichsoperatoren besprochen. Um damit eine
bedingte Anweisung zu erstellen, wird in den Formeln folgende Schreibweise verwendet: |
| xxx ? yyy : zzz |
| Es folgt auf die Bedingung xxx ("wenn xxx") ein
Fragezeichen, danach der Ausdruck, der gilt, falls xxx zutrifft ("dann yyy").
Daran schließt ein Doppelpunkt an, auf den der Ausdruck folgt, der zu verwenden ist, wenn
xxx nicht zutrifft ("sonst zzz"). Zum Beispiel könnte man im Lohn mit der
Formel |
| (B100 > 10000) ? 120 : 140 |
| einen Satz festlegen, der 120 ausmacht, wenn der Betrag
der Lohnart 100 größer als 10000 ist, und 140, wenn der Betrag nicht größer (gleich
oder kleiner) als 10000 ist. |
 |
| In solchen Anweisungen wird je nach der Bedingung (vor dem
Fragezeichen) immer nur einer der beiden auf das Fragezeichen folgenden Teile der Formel
verwendet, entweder jener vor dem Doppelpunkt oder der Teil hinter dem Doppelpunkt. |
 |
| Bedingte Anweisungen können auch verschachtelt sein.
Grundsätzlich können in einem Ausdruck "xxx ? yyy : zzz" alle drei Teile xxx,
yyy und zzz beliebig komplex sein. Dieser Ausdruck kann in einer Formel an jeder Stelle
und so oft wie benötigt vorkommen. |
 |
| Bedingte Anweisungen können auch als Faktoren innerhalb
einer Berechnung verwendet werden. Mit |
| ((B100 > 10000) ? 120 : 90) + 160 |
| ist der Satz je nach dem Betrag der Lohnart 100 entweder
280 (120 + 160) oder 250 (90 + 160). In dieser Form können auch Mindestwerte und
Höchstbeträge definiert werden. Ist e0 die Variable für den Einkaufspreis, kann zum
Beispiel mit |
| e0 + ((e0 * 0.2) < 300 ? 300 : (e0 *
0.2)) |
| ein Aufschlag auf den Einkaufspreis e0 von 20 %,
mindestens jedoch 300.00, berechnet werden. |
|
 |
| Logische Operationen |
| Man kann mehrere Vergleiche auch durch Addition und
Multiplikation zu logischen Funktionen verknüpfen: |
 |
| Die Addition von zwei Bedingungen ergibt eine ODER-Verknüpfung
: Die Formel |
| (B100 < 50) + (E240 > 60) ? 75 : 0 |
| liefert das Ergebnis 75, wenn die Variable B100 kleiner
als 50 oder die Variable E240 größer als 60 ist. Andernfalls ist das Ergebnis 0. |
 |
| Analog kann man eine UND-Verknüpfung von mehreren
Vergleichen durch eine Multiplikation festlegen. Es müssen im WENN-Teil einer
bedingten Anweisungen alle Bedingungen gleichzeitig erfüllt sein, damit der DANN-Teil
ausgeführt wird: |
| (B100 < 50) * (E240 > 60) * (B230 #
0) * ((B321+ B322) <= (B340 - B330)) ? 75 : 0 |
| Hier erhält man das Ergebnis 75 nur dann, wenn alle vier
angegebenen Bedingungen gleichzeitig erfüllt sind, weil die Ergebnisse aller
Vergleichsoperationen miteinander multipliziert werden. Falls sich darunter auch nur eine
0 befindet (weil eine Bedingung nicht zutrifft), ist auch das Gesamtergebnis 0 und es wird
der SONST-Teil (Ergebnis 0) verwendet. Nur wenn alle Bedingungen gleichzeitig
erfüllt sind, ist das Ergebnis aller Multiplikationen 1 und es wird der DANN-Teil
(Satz 75) angewendet. |
|
 |
 |
Softwarestandards |
|
 |
Benutzerorientierte Funktionen |
|
| Rundung |
 |
|
|
 |