Как читать формулы

Используйте field("Назва") для столбца и param("Назва") для параметра предыдущего блока в текущей ветке. Поля вычисляются в заданном порядке; ссылка на ещё не рассчитанное поле вызывает ошибку. Числовой текст сначала нормализуйте блоком форматов чисел.

round(number(field("Quantity")) * number(field("Price")), 2)

Формула ограничена 2048 символами и максимальной сложностью выражения. Доступны только разрешённые операции и функции; это не среда выполнения произвольного кода.

Поля

ФункцияНазначениеПример
field(назва)Значение столбца текущей строки.field("Revenue")
param(назва)Параметр предыдущих блоков только в текущей ветке.param("Rate")

Числа

ФункцияНазначениеПример
number(значення)Преобразует значение в число после блока форматов чисел.number("12.5")
abs(число)Абсолютная величина.abs(-12)
round(число,знаків?)Округляет половинные значения от нуля; точность от −15 до 15.round(12.345, 2)
min(числа*)Наименьшее из переданных чисел.min(3, 8, 2)
max(числа*)Наибольшее из переданных чисел.max(3, 8, 2)
sum(числа*)Сумма аргументов текущей строки. Для суммы по строкам используйте группировку.sum(10, 20, 30)
average(числа*)Среднее арифметическое аргументов.average(10, 20)
ceil(число)Округляет к положительной бесконечности.ceil(-1.2)
floor(число)Округляет к отрицательной бесконечности.floor(-1.2)
trunc(число,знаків?)Отбрасывает дробную часть без округления.trunc(12.349, 2)
roundup(число,знаків?)Округляет от нуля.roundup(12.341, 2)
rounddown(число,знаків?)Округляет к нулю.rounddown(-12.349, 2)
sqrt(число)Квадратный корень неотрицательного числа.sqrt(144)
power(основа,степінь)Возводит основание в степень (показатель от −1000 до 1000).power(2, 8)
mod(число,дільник)Остаток от деления со знаком делителя.mod(-7, 3)
sign(число)−1 для отрицательного числа, 0 для нуля, 1 для положительного.sign(-12)
log(число,основа?)Логарифм; основание по умолчанию — 10.log(1000, 10)
exp(число)Экспонента: e в переданной степени.exp(1)
clamp(число,мінімум,максимум)Ограничивает число заданным интервалом.clamp(120, 0, 100)
percent(число,відсоток)Указанный процент числа.percent(200, 15)
pi()Число π.pi()

Текст

ФункцияНазначениеПример
text(значення)Преобразует значение в текст.text(125)
concat(значення*)Соединяет текстовые значения.concat("Plan", "-", 2026)
upper(текст)Верхний регистр.upper("hello")
lower(текст)Нижний регистр.lower("HELLO")
title(текст)Делает первую букву каждого слова заглавной.title("hello world")
trim(текст)Удаляет начальные и конечные пробелы.trim(" hello ")
length(текст)Количество символов Unicode.length("Київ")
left(текст,кількість)Первые N символов.left("abcdef", 3)
right(текст,кількість)Последние N символов.right("abcdef", 3)
mid(текст,позиція,кількість)Фрагмент текста; первая позиция — 1.mid("abcdef", 2, 3)
replace(текст,старий,новий)Заменяет все вхождения подстроки.replace("a-b-c", "-", "/")
find(шукати,текст,позиція?)Позиция подстроки с учётом регистра; 0, если не найдена.find("b", "abc")
search(шукати,текст,позиція?)Позиция подстроки без учёта регистра; 0, если не найдена.search("B", "abc")
contains(текст,частина)Содержит ли текст подстроку.contains("abcdef", "cd")
starts_with(текст,початок)Начинается ли текст с указанной подстроки.starts_with("ABC", "A")
ends_with(текст,кінець)Заканчивается ли текст указанной подстрокой.ends_with("ABC", "C")
clean(текст)Удаляет управляющие символы.clean("A\nB")
repeat(текст,кількість)Повторяет текст в пределах 32768 символов.repeat("0", 3)
padleft(текст,довжина,символ?)Дополняет слева одним символом, по умолчанию пробелом.padleft("42", 5, "0")
padright(текст,довжина,символ?)Дополняет справа одним символом.padright("42", 5, "0")
transliterate(текст)Однозначная транслитерация кириллицы и греческого текста и удаление диакритики латиницы.transliterate("Київ")

Даты

ФункцияНазначениеПример
date(рік,місяць,день)Создаёт корректную календарную дату ISO.date(2026, 9, 27)
today()Текущая дата UTC, фиксированная для всего блока.today()
now()Время UTC, фиксированное для всего блока.now()
datevalue(текст,формат?)Разбирает дату; по умолчанию ISO или формат strptime.datevalue("27.09.2026", "%d.%m.%Y")
formatdate(дата,формат)Форматирует дату; %Y — год, %m — месяц, %d — день.formatdate("2026-09-27", "%d.%m.%Y")
year(дата)Год даты.year("2026-09-27")
month(дата)Месяц даты, от 1 до 12.month("2026-09-27")
day(дата)День месяца.day("2026-09-27")
hour(датачас)Час UTC, от 0 до 23.hour("2026-09-27T12:30:00Z")
minute(датачас)Минута, от 0 до 59.minute("2026-09-27T12:30:00Z")
second(датачас)Секунда, от 0 до 59.second("2026-09-27T12:30:05Z")
weekday(дата)День недели ISO: понедельник — 1, воскресенье — 7.weekday("2026-09-27")
weeknum(дата)Номер недели ISO.weeknum("2026-09-27")
adddays(дата,днів)Прибавляет или вычитает календарные дни.adddays("2026-09-27", 7)
addmonths(дата,місяців)Сдвигает дату по месяцам; день ограничивается концом месяца.addmonths("2026-01-31", 1)
datediff(початок,кінець,одиниця?)Разность в days, months (полных месяцах), years (полных годах), hours, minutes или seconds.datediff("2026-01-01", "2026-02-01", "days")
eomonth(дата,зсув?)Последний день текущего или сдвинутого месяца.eomonth("2026-01-15", 1)

Условия

ФункцияНазначениеПример
coalesce(значення*)Первое значение, не равное null и не пустое.coalesce(None, "", 0, 5)
ifelse(умова,так,ні)Ленивое условие: вычисляется только выбранная ветка.ifelse(10 > 5, "yes", "no")
iferror(вираз,заміна)Подставляет запасное значение при ошибке вычисления; синтаксические ошибки и отсутствующие поля не скрываются.iferror(10 / 0, 0)
isblank(значення)Равно ли значение null или пустому тексту.isblank("")
isnumber(значення)Является ли значение числом, а не текстом или логическим значением.isnumber(12.5)
istext(значення)Является ли значение текстом.istext("12")
and_(умови*)Все условия истинны; ленивое вычисление.and_(1 > 0, 2 > 1)
or_(умови*)Хотя бы одно условие истинно; ленивое вычисление.or_(False, True)
not_(умова)Логическое отрицание.not_(False)

Удаление текста с начала или конца

removeleft(text, count) возвращает текст без первых N символов; removeright(text, count) удаляет последние N символов. Остальной текст не меняется. Например, removeleft("UA-001", 3) даёт 001, а removeright("report.csv", 4) даёт report. Это отличается от left и right, которые сохраняют соответствующий фрагмент.