Lire les formules
Utilisez field("Назва") pour une colonne et param("Назва") pour un paramètre d’un bloc précédent sur la branche actuelle. Les champs sont évalués dans l’ordre indiqué ; référencer un champ non encore calculé provoque une erreur. Normalisez d’abord le texte numérique avec le bloc de format des nombres.
round(number(field("Quantity")) * number(field("Price")), 2)Une formule est limitée à 2 048 caractères et à une complexité maximale d’expression. Seules les opérations et fonctions autorisées sont disponibles ; ce n’est pas un environnement d’exécution de code arbitraire.
Champs
| Fonction | Rôle | Exemple |
|---|---|---|
field(назва) | La valeur d’une colonne de la ligne actuelle. | field("Revenue") |
param(назва) | Un paramètre de blocs précédents sur la branche actuelle uniquement. | param("Rate") |
Nombres
| Fonction | Rôle | Exemple |
|---|---|---|
number(значення) | Convertit une valeur en nombre après le bloc de format numérique. | number("12.5") |
abs(число) | Valeur absolue. | abs(-12) |
round(число,знаків?) | Arrondit les demis en s’éloignant de zéro ; la précision va de −15 à 15. | round(12.345, 2) |
min(числа*) | Le plus petit des nombres fournis. | min(3, 8, 2) |
max(числа*) | Le plus grand des nombres fournis. | max(3, 8, 2) |
sum(числа*) | La somme des arguments dans la ligne actuelle. Utilisez le regroupement pour additionner plusieurs lignes. | sum(10, 20, 30) |
average(числа*) | La moyenne arithmétique des arguments. | average(10, 20) |
ceil(число) | Arrondit vers l’infini positif. | ceil(-1.2) |
floor(число) | Arrondit vers l’infini négatif. | floor(-1.2) |
trunc(число,знаків?) | Supprime la partie décimale sans arrondir. | trunc(12.349, 2) |
roundup(число,знаків?) | Arrondit en s’éloignant de zéro. | roundup(12.341, 2) |
rounddown(число,знаків?) | Arrondit vers zéro. | rounddown(-12.349, 2) |
sqrt(число) | La racine carrée d’un nombre positif ou nul. | sqrt(144) |
power(основа,степінь) | Élève une base à une puissance (exposant de −1 000 à 1 000). | power(2, 8) |
mod(число,дільник) | Le reste de la division, avec le signe du diviseur. | mod(-7, 3) |
sign(число) | −1 pour un nombre négatif, 0 pour zéro, 1 pour un nombre positif. | sign(-12) |
log(число,основа?) | Logarithme ; la base par défaut est 10. | log(1000, 10) |
exp(число) | La fonction exponentielle : e élevé à la puissance fournie. | exp(1) |
clamp(число,мінімум,максимум) | Limite un nombre à l’intervalle indiqué. | clamp(120, 0, 100) |
percent(число,відсоток) | Le pourcentage indiqué d’un nombre. | percent(200, 15) |
pi() | Le nombre π. | pi() |
Texte
| Fonction | Rôle | Exemple |
|---|---|---|
text(значення) | Convertit une valeur en texte. | text(125) |
concat(значення*) | Réunit des valeurs textuelles. | concat("Plan", "-", 2026) |
upper(текст) | Majuscules. | upper("hello") |
lower(текст) | Minuscules. | lower("HELLO") |
title(текст) | Met en majuscule la première lettre de chaque mot. | title("hello world") |
trim(текст) | Supprime les espaces au début et à la fin. | trim(" hello ") |
length(текст) | Le nombre de caractères Unicode. | length("Київ") |
left(текст,кількість) | Les N premiers caractères. | left("abcdef", 3) |
right(текст,кількість) | Les N derniers caractères. | right("abcdef", 3) |
mid(текст,позиція,кількість) | Un fragment de texte ; la première position est 1. | mid("abcdef", 2, 3) |
replace(текст,старий,новий) | Remplace chaque occurrence d’une sous-chaîne. | replace("a-b-c", "-", "/") |
find(шукати,текст,позиція?) | Position de la sous-chaîne sensible à la casse ; 0 si elle est absente. | find("b", "abc") |
search(шукати,текст,позиція?) | Position de la sous-chaîne sans distinction de casse ; 0 si elle est absente. | search("B", "abc") |
contains(текст,частина) | Indique si le texte contient une sous-chaîne. | contains("abcdef", "cd") |
starts_with(текст,початок) | Indique si le texte commence par la sous-chaîne indiquée. | starts_with("ABC", "A") |
ends_with(текст,кінець) | Indique si le texte se termine par la sous-chaîne indiquée. | ends_with("ABC", "C") |
clean(текст) | Supprime les caractères de contrôle. | clean("A\nB") |
repeat(текст,кількість) | Répète le texte dans une limite de 32 768 caractères. | repeat("0", 3) |
padleft(текст,довжина,символ?) | Complète à gauche avec un seul caractère, une espace par défaut. | padleft("42", 5, "0") |
padright(текст,довжина,символ?) | Complète à droite avec un seul caractère. | padright("42", 5, "0") |
transliterate(текст) | Translittération déterministe du texte cyrillique/grec et suppression des signes diacritiques latins. | transliterate("Київ") |
Dates
| Fonction | Rôle | Exemple |
|---|---|---|
date(рік,місяць,день) | Crée une date calendaire ISO valide. | date(2026, 9, 27) |
today() | La date UTC actuelle, fixée pour tout le bloc. | today() |
now() | L’heure UTC, fixée pour tout le bloc. | now() |
datevalue(текст,формат?) | Analyse une date ; ISO par défaut ou un format strptime. | datevalue("27.09.2026", "%d.%m.%Y") |
formatdate(дата,формат) | Met en forme une date ; %Y représente l’année, %m le mois, %d le jour. | formatdate("2026-09-27", "%d.%m.%Y") |
year(дата) | L’année d’une date. | year("2026-09-27") |
month(дата) | Le mois d’une date, de 1 à 12. | month("2026-09-27") |
day(дата) | Le jour du mois. | day("2026-09-27") |
hour(датачас) | L’heure UTC, de 0 à 23. | hour("2026-09-27T12:30:00Z") |
minute(датачас) | La minute, de 0 à 59. | minute("2026-09-27T12:30:00Z") |
second(датачас) | La seconde, de 0 à 59. | second("2026-09-27T12:30:05Z") |
weekday(дата) | Jour de semaine ISO : lundi vaut 1, dimanche vaut 7. | weekday("2026-09-27") |
weeknum(дата) | Le numéro de semaine ISO. | weeknum("2026-09-27") |
adddays(дата,днів) | Ajoute ou soustrait des jours calendaires. | adddays("2026-09-27", 7) |
addmonths(дата,місяців) | Décale une date par mois ; le jour est limité au dernier jour du mois. | addmonths("2026-01-31", 1) |
datediff(початок,кінець,одиниця?) | Différence en days, months (mois complets), years (années complètes), hours, minutes ou seconds. | datediff("2026-01-01", "2026-02-01", "days") |
eomonth(дата,зсув?) | Le dernier jour du mois actuel ou décalé. | eomonth("2026-01-15", 1) |
Conditions
| Fonction | Rôle | Exemple |
|---|---|---|
coalesce(значення*) | La première valeur qui n’est ni null ni vide. | coalesce(None, "", 0, 5) |
ifelse(умова,так,ні) | Une condition à évaluation différée : seule la branche sélectionnée est évaluée. | ifelse(10 > 5, "yes", "no") |
iferror(вираз,заміна) | Substitue une valeur de repli à une erreur d’évaluation ; les erreurs de syntaxe et les champs manquants ne sont pas masqués. | iferror(10 / 0, 0) |
isblank(значення) | Indique si une valeur est null ou du texte vide. | isblank("") |
isnumber(значення) | Indique si une valeur est un nombre plutôt que du texte ou un booléen. | isnumber(12.5) |
istext(значення) | Indique si une valeur est du texte. | istext("12") |
and_(умови*) | Toutes les conditions sont vraies ; évaluation différée. | and_(1 > 0, 2 > 1) |
or_(умови*) | Au moins une condition est vraie ; évaluation différée. | or_(False, True) |
not_(умова) | Négation logique. | not_(False) |
Supprimer du texte à l’une des extrémités
removeleft(text, count) renvoie le texte sans ses N premiers caractères ; removeright(text, count) supprime ses N derniers caractères. Le texte restant ne change pas. Par exemple, removeleft("UA-001", 3) donne 001, et removeright("report.csv", 4) donne report. Cela diffère de left et right, qui conservent le fragment correspondant.