# Поле формулы Baserow - вычисления без кода в таблице

> Формула считает значение автоматически по данным строки: она складывает числа, форматирует даты, склеивает текст и обновляет результат сразу, без ручного ввода.

Source: https://opennix.org/docs/baserow/formula/formula-field-overview/


Поле формулы позволяет строить динамические вычисления и преобразования текста без ручного ввода данных: считаете ли вы суммы, форматируете даты или объединяете значения из нескольких полей, формула делает базу данных умнее и избавляет от повторяющейся работы. Статья объясняет, что такое поле формулы, как соотносятся формула, функция и выражение, и как создать первое вычисляемое поле.

## Что такое поле формулы

Поле формулы автоматически вычисляет значение на основе других полей таблицы. Результат пересчитывается в реальном времени при изменении исходных данных, поэтому формулы отлично подходят для сумм, средних значений, вычислений с датами, форматирования текста и условной логики.

Поле формулы доступно в бесплатной версии Baserow и работает с любыми [типами полей](/docs/baserow/fields/baserow-field-overview/). Формула может ссылаться на поля той же таблицы или на поля связанных таблиц через [подстановку](/docs/baserow/field-types/lookup-field/).

## Формула, функция и выражение

Перед тем как создавать формулы, полезно понимать три связанных, но разных понятия.

**Формула** - это полный набор инструкций, который выполняет вычисление или преобразует данные. Формула объединяет функции, операторы и ссылки на поля, чтобы получить результат.

Пример: `field('Текущее количество') * field('Себестоимость')` вычисляет итоговую стоимость, перемножая два поля.

**Функция** - это заранее определённая операция, которая принимает входные значения и возвращает результат. В Baserow есть математические, логические, текстовые функции и функции для работы с датой и временем.

Пример: `length(field('Название товара'))` возвращает количество символов в текстовом поле.

**Выражение** - это сочетание значений, операторов и функций, которое вычисляется в единственный результат. Выражения - строительные блоки формул.

Пример: `field('Текущее количество') * field('Себестоимость')` - это выражение, использующее ссылки на поля и оператор умножения.

## Как создать поле формулы

1. В таблице нажмите на плюс `+`, чтобы добавить новое поле.
2. Выберите тип поля **Формула**.
3. Введите формулу в редакторе, используя операторы, функции и ссылки на поля.
4. Проверьте формулу на тестовых данных.
5. Сохраните поле, когда результат корректен.

![Кнопки формулы в Baserow](/images/baserow/formula/formula-field-overview-add-formula-field.png)

## Из чего состоят формулы

### Функции

- **SUM()** - складывает числа;
- **IF()** - строит условную логику;
- **CONCAT()** - объединяет текстовые строки;
- **DATETIME_FORMAT()** - форматирует даты и время;
- **AVERAGE()** - вычисляет среднее значение.

### Операторы

- **Арифметические:** `+`, `-`, `*`, `/`;
- **Сравнения:** `=`, `<=`, `>=`, `<`, `>`;
- **Логические:** `AND`, `OR`, `NOT`.

### Ссылки на поля

Используйте `field('имя_поля')`, чтобы сослаться на любое поле таблицы. Имена полей чувствительны к регистру и должны совпадать точно.

## Часто задаваемые вопросы

**Можно ли редактировать отдельные ячейки в поле формулы?** Нет. Поле формулы вычисляется автоматически для всей колонки целиком. Каждая ячейка показывает результат применения формулы к данным своей строки. Если нужно отредактировать конкретные значения, сначала преобразуйте поле формулы в обычный тип поля - вычисленные значения сохранятся как статические данные.

**Что произойдёт, если удалить поле, на которое ссылается формула?** Поле формулы покажет ошибку, потому что ссылка больше не существует. Чтобы это исправить, можно: восстановить удалённое поле из корзины; создать новое поле с точно таким же именем; изменить формулу, убрав из неё ссылку; переименовать другое поле так, чтобы оно совпало с именем удалённого.

**Могут ли формулы ссылаться на поля из других таблиц?** Да. Используйте поля [«связь с таблицей»](/docs/baserow/field-types/link-to-table-field/), чтобы соединить таблицы, а затем обращайтесь к связанным полям через поля подстановки внутри формул. Так можно подтягивать данные из связанных записей прямо в вычисления.

**Обновляются ли формулы автоматически при изменении исходных данных?** Да. Поле формулы пересчитывается мгновенно при изменении значения любого поля, на которое оно ссылается. Это удобно для отчётов и показателей, которые должны всегда отражать актуальные данные.

**В чём разница между полем формулы и функцией?** Поле формулы - это тип колонки, которая содержит формулу. Функция - это конкретная операция, которую вы используете внутри формулы (например, `SUM()` или `IF()`). Функции - это инструменты, а формула - полная инструкция, которая эти инструменты применяет.

Полный список доступных функций и синтаксис формул смотрите в статье [«Как устроены формулы Baserow»](/docs/baserow/formula/understanding-formulas/).

## Что дальше

Теперь, когда вы знаете, что такое поле формулы и из чего оно состоит, переходите к статье [«Как устроены формулы Baserow»](/docs/baserow/formula/understanding-formulas/), чтобы разобрать полный синтаксис функций, или посмотрите [«Обзор типов полей»](/docs/baserow/fields/baserow-field-overview/), чтобы увидеть, как формула соотносится с другими вычисляемыми полями.

