Возвращает одно значение, если условие истинно, и другое, если то же условие ложно.

Описание

Функция If проверяет условия, пока не находит то, которое возвращает результат true (истина). Соответствующее значение затем возвращается в качестве результата. С помощью функции If можно возвращать разные значения в зависимости от результатов сравнений и других проверок.

Функцию If можно использовать в формулах поведения для организации ветвления между двумя действиями. При этом будет выполнено не более одной ветви. Условия анализируются по порядку, и после того как обнаружен результат true, остальные условия не проверяются.

Если ни одно из условий не выполняется и функции передано нечетное число аргументов, возвращается значение последнего аргумента. Так работает стандартная конструкция If(условие, значение, Else). Если функции передано четное число аргументов, она возвращает пустое значение.

Синтаксис

If(условие, результат[, альтернативный_результат])
If(условие_1, результат_1[, условие_2, результат_2, ... [, альтернативный_результат]])

  • *условие(_n)* — обязательный аргумент. Формулы, которые проверяются на истинность. Эти формулы обычно содержат операторы сравнения (такие как <, > и =) и функции проверки, например IsBlank и IsEmpty.
  • *результат(_n)* — обязательный аргумент. Значение, которое должна вернуть функция, если соответствующее условие окажется истинным.
  • альтернативный_результат* — необязательный аргумент. Значение, которое должна вернуть функция, если ни одно из условий не будет выполнено. Если не указать этот аргумент, функция вернет *пустое значение.

Примеры

Значения в формулах

В следующих примерах ползунку под названием Slider1 соответствует значение 25.

Формула Описание Возвращаемый результат
If(Slider1.Value = 25, "Результат1") Условие принимает значение true (истина), и функция возвращает соответствующий результат. "Результат1"
If(Slider1.Value > 1000, "Результат1") Условие принимает значение false (ложь), а альтернативный_результат не указан. пусто
If(Slider1.Value = 25, "Результат1", "Результат2") Условие принимает значение true (истина), и функция возвращает соответствующий результат. "Результат1"
If(Slider1.Value > 1000, "Результат1", "Результат2") Условие принимает значение false (ложь), и указан альтернативный_результат, который функция и возвращает. "Результат2"
If(Slider1.Value = 25, "Результат1", Slider1.Value > 0, "Результат2") Первое условие принимает значение true (истина), и функция возвращает соответствующий результат. Второе условие также принимает значение true, но соответствующий результат не возвращается, так как в списке аргументов он идет после первого условия. "Результат1"
If(IsBlank( Slider1.Value ), "Результат1", IsNumeric( Slider1.Value ), "Результат2") Первое условие принимает значение false (ложь), так как ползунок имеет значение 25, которое не является пустым. Второе условие принимает значение true (истина), так как значение ползунка является числом, и функция возвращает соответствующий результат. "Результат2"
If(Slider1.Value > 1000, "Результат1", Slider1.Value > 50, "Результат2", "Результат3") Как первое, так и второе условия принимают значение false (ложь), и указан альтернативный_результат, который функция и возвращает. "Результат3"

Ветвление в формулах поведения

В следующих примерах в элементе управления Текстовое поле под названием FirstName введено значение John.

Формула Описание Возвращаемый результат
If(! IsBlank(FirstName.Text), Navigate( Screen1, ScreenTransition.None)) Условие принимает значение true (истина), и выполняется функция Navigate. С помощью функции IsBlank можно проверить, заполнено ли обязательное поле формы. Если бы текстовое поле для ввода текста было пустым, по результатам вычисления этой формулы не было бы выполнено никаких действий. true

На дисплее появляется экран Screen1.
If(IsBlank(FirstName.Text), Navigate( Screen1, ScreenTransition.None), Back()) Без оператора . условие принимает значение fals (истина), и функция Navigate не выполняется. Поскольку указан альтернативный_результат, выполняется функция Back. true

На дисплее появляется предыдущий экран.

Шаг за шагом

  1. На пустом экране добавьте элемент управления Текстовое поле под названием Text1 (возможно, такое имя будет установлено по умолчанию).

  2. В поле Text1 введите 15.

  3. Добавьте метку и задайте для нее следующие формулы в качестве значения свойства Text:

Формула Описание Возвращаемый результат
Text1.Text Если условие не задано, возвращается значение, указанное в поле для ввода. "15"
If(Value(Text1.Text) < 40, "Увеличьте заказ!", Text1.Text) Условие принимает значение true (истина), и функция возвращает соответствующий результат. "Увеличьте заказ!"
If(Value(Text1.Text) < 20, "Увеличьте заказ НАМНОГО!", Value(Text1.Text) < 40, "Увеличьте заказ!", Text1.Text) Первое условие принимает значение true (истина), и функция возвращает соответствующий результат. "Увеличьте заказ НАМНОГО!"