Formeln
Formula-Felder in Copera Boards erstellen berechnete Spalten, deren Werte automatisch aus anderen Daten in Ihren Zeilen abgeleitet werden. Angetrieben von der Copera Formula Engine -- einer eigenen Formelsprache mit Parser und Evaluator -- bauen Sie alles von einfacher Arithmetik bis zu komplexer bedingter Logik und Datumsberechnungen.
Überblick über die Formelsprache
Copera-Formeln nutzen eine Syntax ähnlich wie Tabellenkalkulationen. Jede Formel wird pro Zeile ausgewertet und hat Zugriff auf alle Spaltenwerte derselben Zeile. Die Formula Engine unterstützt:
- Arithmetische Operatoren:
+,-,*,/für Rechenoperationen - String-Konkatenation:
&zum Verketten von Textwerten - Vergleichsoperatoren:
=,!=,>,<,>=,<= - Logische Operatoren:
AND,OR,NOTzum Kombinieren von Bedingungen - Feldreferenzen: Andere Spalten referenzieren, indem Sie den Spaltennamen in geschweifte Klammern setzen, z. B.
{Column Name} - Verschachtelte Funktionen: Funktionen können als Argumente anderer Funktionen dienen
Basissyntax
{Price} * {Quantity}
Diese Formel multipliziert den Wert der Spalte „Price“ mit der Spalte „Quantity“ für jede Zeile.
IF({Status} = "Done", "Complete", "Pending")
Diese Formel gibt „Complete“ zurück, wenn die Status-Spalte „Done“ ist, andernfalls „Pending“.
Funktionsreferenz
Die Copera Formula Engine stellt über 100 Funktionen in den folgenden Kategorien bereit. Unten finden Sie die am häufigsten genutzten Funktionen.
Mathematische Funktionen
| Funktion | Beschreibung | Beispiel |
|---|---|---|
ABS(number) | Absolutwert | ABS({Balance}) |
CEIL(number) | Aufrunden auf nächste ganze Zahl | CEIL({Score} / 10) |
FLOOR(number) | Abrunden auf nächste ganze Zahl | FLOOR({Price}) |
ROUND(number, decimals) | Auf angegebene Nachkommastellen runden | ROUND({Average}, 2) |
MIN(a, b, ...) | Kleinster Wert | MIN({Estimate}, {Budget}) |
MAX(a, b, ...) | Größter Wert | MAX({Score1}, {Score2}) |
SUM(a, b, ...) | Summe der Werte | SUM({Q1}, {Q2}, {Q3}, {Q4}) |
AVERAGE(a, b, ...) | Arithmetisches Mittel | AVERAGE({Test1}, {Test2}) |
MOD(number, divisor) | Rest nach Division | MOD({Row Number}, 2) |
POWER(base, exponent) | Potenzieren | POWER({Side}, 2) |
SQRT(number) | Quadratwurzel | SQRT({Area}) |
Textfunktionen
| Funktion | Beschreibung | Beispiel |
|---|---|---|
CONCAT(a, b, ...) | Textwerte verbinden | CONCAT({First Name}, " ", {Last Name}) |
LEFT(text, count) | Vom Anfang extrahieren | LEFT({Code}, 3) |
RIGHT(text, count) | Vom Ende extrahieren | RIGHT({Phone}, 4) |
MID(text, start, count) | Aus der Mitte extrahieren | MID({ID}, 2, 4) |
LEN(text) | Zeichenanzahl | LEN({Description}) |
LOWER(text) | In Kleinbuchstaben umwandeln | LOWER({Email}) |
UPPER(text) | In Großbuchstaben umwandeln | UPPER({Code}) |
TRIM(text) | Führende/abschließende Leerzeichen entfernen | TRIM({Input}) |
REPLACE(text, old, new) | Vorkommen ersetzen | REPLACE({URL}, "http", "https") |
SEARCH(find, text) | Position einer Teilzeichenkette finden | SEARCH("@", {Email}) |
Datumsfunktionen
Die Formula Engine integriert eine umfangreiche Datumsbibliothek für Manipulation und Vergleich.
| Funktion | Beschreibung | Beispiel |
|---|---|---|
TODAY() | Aktuelles Datum | TODAY() |
NOW() | Aktuelles Datum und Uhrzeit | NOW() |
YEAR(date) | Jahr extrahieren | YEAR({Created}) |
MONTH(date) | Monat extrahieren (1–12) | MONTH({Due Date}) |
DAY(date) | Tag des Monats extrahieren | DAY({Birthday}) |
WEEKDAY(date) | Wochentag (0–6) | WEEKDAY({Start Date}) |
WEEKNUM(date) | Kalenderwoche | WEEKNUM({Created}) |
QUARTER(date) | Quartal (1–4) | QUARTER({Close Date}) |
DATEADD(date, count, unit) | Zeit zu einem Datum addieren | DATEADD({Start}, 14, "days") |
DATEDIFF(date1, date2, unit) | Differenz zwischen Daten | DATEDIFF({Start}, {End}, "days") |
IS_BEFORE(date1, date2) | Prüfen, ob date1 vor date2 liegt | IS_BEFORE({Due Date}, TODAY()) |
IS_AFTER(date1, date2) | Prüfen, ob date1 nach date2 liegt | IS_AFTER({Due Date}, TODAY()) |
IS_SAME_DAY(date1, date2) | Prüfen, ob derselbe Tag | IS_SAME_DAY({Created}, TODAY()) |
IS_TODAY(date) | Prüfen, ob das Datum heute ist | IS_TODAY({Due Date}) |
IS_WEEKEND(date) | Prüfen, ob Wochenende | IS_WEEKEND({Delivery Date}) |
START_OF_MONTH(date) | Erster Tag des Monats | START_OF_MONTH({Date}) |
END_OF_MONTH(date) | Letzter Tag des Monats | END_OF_MONTH({Date}) |
START_OF_WEEK(date) | Erster Tag der Woche | START_OF_WEEK({Date}) |
END_OF_WEEK(date) | Letzter Tag der Woche | END_OF_WEEK({Date}) |
ADD_BUSINESS_DAYS(date, days) | Nur Werktage addieren | ADD_BUSINESS_DAYS({Start}, 5) |
DIFF_BUSINESS_DAYS(d1, d2) | Werktage zwischen Daten | DIFF_BUSINESS_DAYS({Start}, {End}) |
Logische Funktionen
| Funktion | Beschreibung | Beispiel |
|---|---|---|
IF(condition, then, else) | Bedingter Wert | IF({Amount} > 1000, "High", "Low") |
SWITCH(expr, val1, result1, ...) | Gegen mehrere Werte abgleichen | SWITCH({Priority}, "P0", "Critical", "P1", "High", "Normal") |
AND(a, b, ...) | Wahr, wenn alle Bedingungen wahr sind | AND({Complete}, {Approved}) |
OR(a, b, ...) | Wahr, wenn eine Bedingung wahr ist | OR({Urgent}, {Overdue}) |
NOT(value) | Booleschen Wert invertieren | NOT({Archived}) |
ISBLANK(value) | Prüfen, ob leer | ISBLANK({Notes}) |
Häufige Formelbeispiele
Namen verketten
CONCAT({First Name}, " ", {Last Name})
Kombiniert Vor- und Nachnamenspalten mit einem Leerzeichen dazwischen.
Tage bis zum Fälligkeitsdatum
DATEDIFF(TODAY(), {Due Date}, "days")
Gibt die verbleibenden Tage bis zum Fälligkeitsdatum zurück. Negative Werte bedeuten Überfälligkeit.
Bedingte Status-Labels
IF(IS_BEFORE({Due Date}, TODAY()), "Overdue",
IF(DATEDIFF(TODAY(), {Due Date}, "days") <= 3, "Due Soon", "On Track"))
Gibt „Overdue“ für überfällige Elemente, „Due Soon“ bei Fälligkeit innerhalb von 3 Tagen und „On Track“ sonst zurück.
Prozentberechnung
ROUND({Completed Tasks} / {Total Tasks} * 100, 1)
Berechnet den Fortschritt in Prozent, gerundet auf eine Nachkommastelle.
Verbleibende Werktage
DIFF_BUSINESS_DAYS(TODAY(), {Deadline})
Berechnet die Anzahl der Werktage (ohne Wochenenden) zwischen heute und einer Deadline.
Fehlerbehandlung
Enthält eine Formel Fehler, zeigt Copera in der Zelle einen Fehlerindikator statt eines Werts. Häufige Fehler:
- Syntaxfehler -- Ungleiche Klammern, fehlende Operatoren oder unbekannte Funktionsnamen.
- Typkonflikte -- Arithmetik auf Textwerten oder Datumsoperationen auf Zahlen.
- Null-Referenzen -- Bezug auf eine Spalte ohne Wert in der aktuellen Zeile. Nutzen Sie
ISBLANK()für optionale Felder. - Division durch null -- Division durch eine Spalte mit dem Wert null. Mit
IFabsichern:IF({Total} = 0, 0, {Part} / {Total}).
Der Formeleditor zeigt eine Live-Vorschau des Ergebnisses während der Eingabe – so finden und beheben Sie Fehler vor dem Speichern.
KI-unterstützte Formelerstellung
Wenn Sie unsicher sind, wie eine Formel geschrieben wird, bietet Copera einen KI-gestützten Formelassistenten. Beschreiben Sie in natürlicher Sprache, was berechnet werden soll; der Assistent generiert eine Formel. Sie können den Vorschlag prüfen, bearbeiten und verfeinern, bevor Sie ihn auf die Spalte anwenden.
Nächste Schritte
- Berechnete Felder für Formula-, Function- und Tracker-Felder im Detail.
- Automatisierungen, die basierend auf Formelergebnissen auslösen.
- Filter & Sortierung, um Zeilen nach Formula-Spaltenwerten zu filtern.