если
Функция если возвращает одно из двух значений в зависимости от выполнения заданного условия.
Функция пригодится, когда результат должен меняться в зависимости от значения поля, сравнения или логического условия.
Синтаксис
если(условие, значение_если_истина, значение_если_ложь)
Параметры:
условие— условие, которое определяет результат функции. Обязательный параметр;значение_если_истина— значение, которое функция вернёт, если условие выполняется. Обязательный параметр;значение_если_ложь— значение, которое функция вернёт, если условие не выполняется. Обязательный параметр.
В качестве возвращаемых значений можно использовать:
- текст;
- числа;
- значения полей;
- результаты других функций;
- выражения;
пусто.
Возвращаемое значение
Если условие выполняется, функция возвращает значение_если_истина. Если условие не выполняется — значение_если_ложь.
Например:
если(количество > 10, 100, 50)
Если количество больше 10, результат:
100
В противном случае:
50
Условия
В качестве условия можно использовать поле «Да/Нет»:
если(доставка, "Доставка требуется", "Доставка не требуется")
Если доставка = Да, функция вернёт Доставка требуется, если Нет — Доставка не требуется.
Условие также можно сформировать с помощью сравнений и логических операций.
Например:
если(
сумма >= 50000 и сумма <= 100000,
"Средняя сделка",
"Другой диапазон"
)
Подробнее о записи сравнений, логических операциях и построении выражений см. в разделе «Синтаксиса».
Числовое значение 1 также может использоваться как истинное условие:
если(1, "Да", "Нет")
Результат:
Да
Примеры
Возврат значений полей
если(
доставка,
стоимостьСДоставкой,
стоимостьБезДоставки
)
Функция вернёт значение одного из двух полей в зависимости от значения доставка.
Использование другой функции
если(
доставка,
прописн(способДоставки),
"Самовывоз"
)
Если доставка требуется, функция вернёт результат функции прописн. В противном случае — Самовывоз.
Возврат пустого значения
если(доставка, "Доставка", пусто)
Если условие не выполняется, функция вернёт пустое значение.
Вложенные условия
Функцию если можно использовать внутри другой функции если:
если(
сумма > 100000,
"Крупная",
если(
сумма > 50000,
"Средняя",
"Обычная"
)
)
В зависимости от значения сумма функция вернёт Крупная, Средняя или Обычная.
Ошибки
Все три параметра функции обязательны.
Например:
если(доставка, "Да")
вернёт ошибку из-за отсутствия третьего параметра.
Ошибка также возникает, если переданное условие не может быть обработано функцией.
Например:
если("текст", "Да", "Нет")
вернёт ошибку.