Berechnungen
Mit Berechnungen fügst Du in jeden Text – Hinweisfelder, Endseite, E-Mails, Workflow-Aktionen – kleine Rechenformeln ein. Sie werden automatisch mit den Antworten des Formulars ausgefüllt, z. B. {{= {Menge} * {Preis} * 1.19 }} für einen Bruttobetrag.
Was ist eine Berechnung?
Eine Berechnung ist ein Platzhalter mit einer Formel. Statt eines festen Wertes schreibst Du eine Rechenanweisung, die Formenio beim Anzeigen bzw. beim Versand auswertet und durch das Ergebnis ersetzt.
Eine Berechnung steht immer zwischen doppelten geschweiften Klammern mit Gleichheitszeichen: {{= ... }}
Felder des Formulars referenzierst Du innerhalb der Formel mit einfachen geschweiften Klammern: {feldId}
Im Editor musst Du die Klammern in der Regel nicht selbst tippen – Du fügst Felder über die Schaltfläche „Variable" oder das Σ-Symbol ein und siehst sie als benannte Chips (z. B. Menge, Preis).
Berechnung einfügen
- Öffne ein Textfeld, das Platzhalter unterstützt (siehe Wo Berechnungen funktionieren).
- Klicke in der Werkzeugleiste auf Σ (Berechnung einfügen).
- Gib die Formel ein:
- Rechenzeichen
+ − * / %und Klammern direkt tippen. - Felder über „Variable" auswählen oder
{tippen und aus der Vorschlagsliste wählen. - Funktionen wie
round(tippen – die Autovervollständigung zeigt Signatur und Beschreibung.
- Rechenzeichen
- Kontrolliere die Vorschau: Ergibt zeigt die Formel in Worten, Beispiel (alle Felder = 1) zeigt ein Probeergebnis.
- Mit Übernehmen wird die Berechnung als
{{= … }}-Chip in den Text eingesetzt.
Ungültige Formeln lassen sich nicht übernehmen – Formenio zeigt stattdessen eine konkrete Fehlermeldung an (z. B. „Unbekanntes Feld: preis").
Rechenzeichen
| Zeichen | Bedeutung | Beispiel | Ergebnis |
|---|---|---|---|
+ | Addition | 2 + 3 | 5 |
- | Subtraktion, auch negatives Vorzeichen | 10 - 4, -5 | 6, -5 |
* | Multiplikation | 4 * 2.5 | 10 |
/ | Division | 10 / 4 | 2,5 |
% | Rest (Modulo) | 10 % 3 | 1 |
^ | Potenz | 2 ^ 10 | 1024 |
( ) | Klammern für die Reihenfolge | (2 + 3) * 4 | 20 |
Rechenreihenfolge: Potenz vor Punkt- vor Strichrechnung; Klammern haben immer Vorrang. Der Dezimaltrenner in der Formel ist der Punkt (1.19) – ein eingetipptes Komma wird automatisch umgewandelt.
Funktionen
| Funktion | Schreibweise | Beschreibung |
|---|---|---|
round | round(zahl, stellen) | Rundet auf so viele Nachkommastellen (Standard 0, max. 10). |
sum | sum(a, b, …) | Summe aller Werte. |
avg | avg(a, b, …) | Durchschnitt aller Werte. |
min | min(a, b, …) | Kleinster Wert. |
max | max(a, b, …) | Größter Wert. |
abs | abs(zahl) | Betrag – immer positiv. |
floor | floor(zahl) | Abrunden zur nächsten ganzen Zahl. |
ceil | ceil(zahl) | Aufrunden zur nächsten ganzen Zahl. |
sqrt | sqrt(zahl) | Quadratwurzel. |
pow | pow(basis, exponent) | Potenz (wie basis ^ exponent). |
if | if(bedingung, dann, sonst) | Ergibt dann, wenn bedingung ungleich 0 ist, sonst sonst. |
Funktionen lassen sich verschachteln: round(avg({a}, {b}, {c}), 1).
Hinweis zu if
Es gibt keine Vergleichsoperatoren (>, <, =) in Formeln. Die Bedingung von if ist eine Zahl: 0 = „nein", alles andere = „ja". Das eignet sich für Ja/Nein- bzw. Ankreuzfelder, die als 1 oder 0 in die Berechnung eingehen.
Wie Feldwerte in die Berechnung einfließen
| Feldinhalt | Wert in der Formel |
|---|---|
Zahl bzw. Zahl als Text (12, 12,5, " 12 ") | die Zahl |
| Leeres oder nicht ausgefülltes Feld | 0 |
| Text, der keine Zahl ist | 0 |
| Daumen-/Ja-Nein-Bewertung | ja → 1, sonst 0 |
| Feld mit mehreren Werten (z. B. Mehrfachauswahl) | Summe der einzelnen Werte |
Weitere Regeln:
- Division oder Rest durch 0 ⇒ die Berechnung ergibt nichts (der Platzhalter bleibt leer).
- Eine leere oder ungültige Formel ergibt ebenfalls einen leeren Text – das Formular bricht nicht ab.
- Nur auf tatsächlich vorhandene Felder darf verwiesen werden; unbekannte Feld-IDs werden im Editor als Fehler markiert.
Ergebnis-Format
- Ganze Zahlen werden ohne Nachkommastellen ausgegeben (
1024). - Andernfalls wird auf 2 Nachkommastellen gerundet (
2,50). - Der Dezimaltrenner in der Ausgabe ist das Komma.
- Für ein anderes Rundungsverhalten
round(...)verwenden, z. B.round({betrag}, 0)für einen glatten Betrag oderround({betrag}, 4)für vier Stellen.
Wo Berechnungen funktionieren
| Ort | Wann wird ausgewertet? |
|---|---|
| Hinweis-/Richttext-Felder im Formular | Live, während die Person das Formular ausfüllt – das Ergebnis aktualisiert sich mit jeder Eingabe. |
| Endseite (Text nach dem Absenden) | Beim Anzeigen der Endseite, mit den abgesendeten Antworten. |
| E-Mail-Vorlagen (Bestätigungs- und Benachrichtigungsmails) | Beim Versand auf dem Server. |
| Workflow-Aktionen – Statuswechsel, Feld aktualisieren, Datensatz anlegen, CleverReach | Bei der Ausführung des Workflows, mit den Antworten des auslösenden Datensatzes. |
In allen Fällen wird dieselbe Formel-Logik verwendet, sodass die Vorschau im Editor dem späteren Ergebnis entspricht.
Fehlerbehebung
| Problem | Ursache / Lösung |
|---|---|
| Platzhalter bleibt im Ergebnis leer | Division durch 0, ungültige Formel oder alle Felder leer. Formel und Feldreferenzen prüfen. |
| „Unbekanntes Feld: …" | Das referenzierte Feld existiert nicht (mehr) oder wurde umbenannt. Feld über „Variable" neu einfügen. |
Ergebnis ist immer 0 | Referenziertes Feld enthält keinen numerischen Wert (z. B. Textfeld) oder ist nicht ausgefüllt. |
| „Funktion … erwartet eine andere Anzahl an Argumenten" | Argumentzahl an die Signatur in der Funktionstabelle anpassen. |
| „Formel ist zu lang / zu komplex" | Eine Formel darf höchstens 1000 Zeichen umfassen. In mehrere Berechnungen aufteilen. |
| Komma statt Punkt in der Formel | Wird automatisch umgewandelt; in der Ausgabe ist das Komma korrekt. |
if reagiert nicht wie erwartet | if prüft nur „0 oder nicht 0". Für echte Schwellen mit min / max arbeiten oder ein Ja/Nein-Feld nutzen. |
Gut zu wissen
- Berechnungen werden sicher ausgewertet (eigener Formel-Parser, kein Code-Eval).
- Die Formel wird als
{{= … }}im Text gespeichert – Du kannst sie also auch direkt in den Quelltext schreiben, wenn Du die Feld-IDs kennst. - Innerhalb einer Berechnung sind keine verschachtelten
{{ }}erlaubt – Felder immer mit einfachen Klammern{feldId}. - Normale Platzhalter (
{{feldId}}) und Berechnungen ({{= … }}) lassen sich im selben Text beliebig kombinieren.