> ## Documentation Index
> Fetch the complete documentation index at: https://docs.landerlab.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Формулы в квизе: расчёт результата по ответам

> Формулы в квизе считают значения по ответам посетителя и показывают результат на любом шаге. Настройте знаки после запятой, fallback и тест.

Formulas (формулы) позволяют превратить ответы квиза в рассчитанное значение. Вы комбинируете один или несколько ответов с помощью математики, а затем показываете результат на любом шаге или используете его в правилах. Часто это нужно для оперативной оценки, например суммы экономии или текущего итога, которая меняется в зависимости от выбора каждого посетителя.

## Где находятся формулы

Откройте квиз в редакторе и нажмите иконку **Formulas** в левой боковой панели. Сначала панель пуста. Нажмите **Add Formula**, чтобы открыть редактор формулы.

<img src="https://mintcdn.com/landerlab-babdc23f/r7Zh2MPRSmzJr3wD/images/add-formula.png?fit=max&auto=format&n=r7Zh2MPRSmzJr3wD&q=85&s=7b6466d980b595166cd7d4921907a7ec" alt="Панель Formulas с кнопкой Add Formula" width="1920" height="958" data-path="images/add-formula.png" />

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

Редактор формулы состоит из трёх частей: общих настроек, выражения и теста в реальном времени.

<Frame>
  <img src="https://mintcdn.com/landerlab-babdc23f/XJDaZ6ILyLkk7ClU/images/naming.png?fit=max&auto=format&n=XJDaZ6ILyLkk7ClU&q=85&s=a2251afaef06fed97af8f3add2bf4eae" alt="Название формулы, знаки после запятой и настройки fallback" width="1920" height="956" data-path="images/naming.png" />
</Frame>

### Name

Дайте формуле понятное название. По названию вы будете ссылаться на формулу позже, поэтому описательное имя позволит легко использовать её на разных шагах. Например, назовите формулу `Estimated Savings`, а не оставляйте `Formula 1`.

### Decimals

Выберите, сколько знаков после запятой показывать в результате. `0` подходит для целых чисел, например итога в долларах, а `2` — для значений, где нужны центы.

### Fallback

Задайте значение, которое покажется, если формула не может вернуть корректный результат, например когда числовое поле пустое или ответа нет. Fallback не даёт пустому или сломанному значению попасть к посетителю.

### Expression

В поле Expression (выражение) вы строите сам расчёт. Вводите его вручную или используйте кнопки над полем.

<img src="https://mintcdn.com/landerlab-babdc23f/XpG_XlFI-vAvUO_O/images/Expression.png?fit=max&auto=format&n=XpG_XlFI-vAvUO_O&q=85&s=081548b9c9f7aafdbcddcf80e85bf1aa" alt="Поле Expression с кнопками операторов и функций" width="1920" height="956" data-path="images/Expression.png" />

* Операторы: `+`, `-`, `*`, `/`, `%` (остаток от деления), `**` (степень) и `( )` для группировки частей расчёта
* Функции: `min()`, `max()`, `round()`, `floor()`, `ceil()`, `abs()`, `sqrt()`

Чтобы добавить ответ в расчёт, нажмите кнопку **variable** (иконка `{ }`) и выберите поле. В списке показаны все поля, которые вы создали в квизе, а выбранное вставляется как переменная, например `{{Amount}}`.

<img src="https://mintcdn.com/landerlab-babdc23f/XJDaZ6ILyLkk7ClU/images/image-42.png?fit=max&auto=format&n=XJDaZ6ILyLkk7ClU&q=85&s=4508efa7c742d7c71a08798db6efbd01" alt="Список переменных с полями квиза для выражения" width="1922" height="956" data-path="images/image-42.png" />

<Note>
  Для расчёта вставляемое поле должно хранить **число**. Выбор или ввод, где сохраняется число (например цена или сумма), рассчитывается корректно. Обычный текстовый ответ — нет.
</Note>

Например, чтобы удвоить сумму, которую ввёл посетитель, вставьте поле **Amount** и умножьте его:

```text theme={null}
{{Amount}} * 2
```

### Test

Раздел **Test** позволяет проверить результат на пробных значениях до публикации. Введите значение для каждой переменной в выражении, и LanderLab сразу покажет рассчитанный **Result**. Для выражения выше при `Amount`, равном `2000`, результат будет `4000`.

## Как использовать формулу на шаге

После сохранения формулу можно вставить в любое текстовое поле квиза: заголовок шага, абзац или кнопку.

<Frame>
  <img src="https://mintcdn.com/landerlab-babdc23f/uXYM9xg2v-5XftzT/images/use-formula.png?fit=max&auto=format&n=uXYM9xg2v-5XftzT&q=85&s=3556ff2e974ca9c88d109737c95a34b9" alt="Формула, вставленная в текст шага квиза" width="1917" height="958" data-path="images/use-formula.png" />
</Frame>

Есть два способа вставки:

* **Ввести вручную.** Ссылайтесь на формулу по названию с помощью синтаксиса `{{= }}`, например `{{=Formula 1}}`
* **Выбрать из списка.** Нажмите кнопку **variable** в текстовом поле, прокрутите до раздела **Formulas** и выберите нужную формулу

<img src="https://mintcdn.com/landerlab-babdc23f/uXYM9xg2v-5XftzT/images/variable.png?fit=max&auto=format&n=uXYM9xg2v-5XftzT&q=85&s=31a05c5528809a50682f01446adf037f" alt="Раздел Formulas в списке переменных текстового поля" width="1922" height="956" data-path="images/variable.png" />

Результат считается в реальном времени по мере того, как посетитель проходит квиз, поэтому значение всегда отражает его ответы. Заголовок шага может выглядеть так:

```text theme={null}
Your estimated savings: ${{=Formula 1}}
```

## Предпросмотр и тест

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

## Советы

* Давайте каждой формуле понятное название, чтобы её легко было найти и использовать повторно
* Задавайте fallback, чтобы посетители не видели пустое или сломанное значение
* Ссылайтесь только на поля, где хранятся числа
* Проверяйте расчёт на реалистичных значениях перед публикацией


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.