CASE
CASE(Value, Match1, Result1, Match2, Result2, ..., Default)
Проверяет, совпадает ли значение с несколькими проверками, и возвращает соответствующий результат.
Параметр |
Тип |
Описание |
Value |
Текст/присоединенное |
Значение для проверки |
Match1, Match2, … ,MatchN |
Текст/ присоединенное |
Шаблоны текста для проверки. Первый совпадающий шаблон будет определять результат. Шаблон может быть точным значением, выражением с подстановочным знаком или регулярным выражением. Подробности см. в разделе Сопоставление шаблонов выражений. |
Result1, Result2, ResultN |
любой |
Значения, возвращаемые функцией, каждое значение соответствует предыдущему параметру Match. |
Default (необязательно) |
любой |
Необязательное значение по умолчанию, которое будет возвращено, если ни один из шаблонов не совпадает. Если не указано, возвращается undefined. |
Result |
любой |
Result1, Result2 и т. д. в зависимости от того, какой шаблон совпал, или Default, или undefined. |
Эта функция обычно используется для сопоставления текстовых значений с числами.
Примеры:
- CASE(Priority; "Highest"; 10; "High"; 5; "Medium"; 3; 1)
- CASE(Version; "V1*"; 1; "V2*"; 2)
Если значение не определено, функция немедленно возвращает результат по умолчанию (или значение undefined, если значение по умолчанию отсутствует), поэтому обычно нет необходимости использовать значение undefined в качестве одного из совпадений.
CHOOSE
CHOOSE(Index; Value1; Value2; ...)
На основе значения Index возвращает соответствующее значение из списка аргументов.
Параметр |
Тип |
Описание |
Index |
Число |
Числовой индекс, где 1 соответствует Value1, 2 соответствует Value2 и так далее. |
Value1, Value2,…., MatchN |
Любой |
Значения для выбора. |
Result |
Любой |
Значение, соответствующее индексу. |
Примеры:
- CHOOSE(1; "A"; "B"; "C") → "A"
- CHOOSE(2; "A"; "B"; "C") → "B"
DEFINED
DEFINED(Value)
Проверяет, определено ли значение.
Параметр |
Тип |
Описание |
Result |
Любой |
Значение для проверки |
Result |
Булев |
Возвращает false (0), если значение не определено, и true (1) в противном случае. |
Пример:
- IF(DEFINED(Resolution); ...)
DEFAULT
DEFAULT(Value; DefaultValue)
Заменяет DefaultValue, если значение не определено.
Параметр |
Тип |
Описание |
Value |
Любой |
Значение для проверки |
DefaultValue |
Любой |
Возвращаемое значение, если значение не определено. |
Result |
Любой |
Если значение определено, возвращает значение. В противном случае возвращает DefaultValue. |
Примеры:
- DEFAULT(100; 500) → 100
- DEFAULT(undefined; 500) → 500
IF
IF(Condition1; Result1; Condition2; Result2; ...; Default)
Проверяет одно или несколько условий и возвращает результат, связанный с первым истинным условием.
Параметр |
Тип |
Описание |
Condition1, Condition2, ..., Condition3 |
Любой |
Значение для проверки. Значения оцениваются с использованием «проверки достоверности» — первое значение, которое является «правдивым» (не неопределенным, не нулем и не пустой строкой), будет определять возвращаемое значение. |
Result1, Result2, ..., ResultN |
Любой |
Возвращаются результаты, каждый результат соответствует предыдущей проверке. |
Default (необязательно) |
Любой |
Необязательное значение по умолчанию, которое будет возвращено, если ни один из шаблонов не совпадает. Если не указано, возвращается undefined. |
Result |
Любой |
Result1, Result2 и т. д. в зависимости от того, какой шаблон совпал, или Default, или undefined. |
Примеры:
- IF(Estimate > 0; Duration / Estimate; 0)
- IF(N = 0; "No apples"; N = 1; "One apple"; CONCAT(N; " apples"))
IFERR
IFERR(Value; FallbackValue)
Проверяет, не вызвало ли вычисление Value ошибку, и подставляет FallbackValue вместо значения ошибки.
Параметр |
Тип |
Описание |
Value
|
Любой |
Значение для проверки. |
FallbackValue |
Любой |
Значение, которое будет возвращено, если вычисление Value приведет к ошибке. |
→ Result |
Любой |
Если значение вычислено без ошибки, возвращает значение. В противном случае возвращает DefaultValue. |
Обычно, если при вычислении формулы возникает ошибка, она распространяется вверх, и результатом всего выражения будет ошибка. Эта функция помогает обойти это.
Пример:
- IFERR(100 / 0; 100) → 100
ISERR
ISERR(Value; ErrorCode)
Проверяет, не вызвало ли вычисление значения ошибку.
Параметр |
Тип |
Описание |
Value
|
Любой |
Значение для проверки. |
ErrorCode (необязательно) |
Integer |
Необязательный код ошибки. См. Список кодов ошибок Expr. |
→ Result |
Булев |
Возвращает true (1), если произошла ошибка. Если указан ErrorCode, возвращает true, только если ошибка имеет указанный код ошибки. |
Примеры:
- ISERR("Ham") → 0
- ISERR(1 / 0) → 1
- ISERR(1 / 0, 4) → 1 //Примечание. Код ошибки 4 является арифметической ошибкой.
По материалам Atlassian JIRA Structure: Conditional Functions