В Excel функция IF позволяет выполнить логическое сравнение между значением и ожидаемым значением, проверив условие и возвращая результат, если это условие имеет значение True или False.
- =ЕСЛИ(это истинно, то сделать это, в противном случае сделать что-то еще)
Но что делать, если необходимо протестировать несколько условий, где, скажем, все условия должны иметь значение True или False (AND), или только одно условие должно быть True или False (OR), или если вы хотите проверка, если условие НЕ соответствует вашим критериям? Все 3 функции можно использовать самостоятельно, но гораздо чаще они связаны с функциями IF.
Технические сведения
Используйте функцию IF вместе с and, OR и NOT для выполнения нескольких вычислений, если условия имеют значение True или False.
Синтаксис
- ЕСЛИ(И()): ЕСЛИ(И(лог_выражение1; [лог_выражение2]; …), значение_если_истина; [значение_если_ложь]))
- ЕСЛИ(ИЛИ()): ЕСЛИ(ИЛИ(лог_выражение1; [лог_выражение2]; …), значение_если_истина; [значение_если_ложь]))
- ЕСЛИ(НЕ()): ЕСЛИ(НЕ(лог_выражение1), значение_если_истина; [значение_если_ложь]))
| Имя аргумента | Описание |
| лог_выражение (обязательно) | Условие, которое нужно проверить. |
| значение_если_истина (обязательно) | Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА. |
| значение_если_ложь (необязательно) | Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ. |
Общие сведения об использовании этих функций по отдельности см. в следующих статьях: И, ИЛИ, НЕ. При сочетании с оператором ЕСЛИ они расшифровываются следующим образом:
- И: =ЕСЛИ(И(условие; другое условие); значение, если ИСТИНА; значение, если ЛОЖЬ)
- ИЛИ: =ЕСЛИ(ИЛИ(условие; другое условие); значение, если ИСТИНА; значение, если ЛОЖЬ)
- НЕ: =ЕСЛИ(НЕ(условие); значение, если ИСТИНА; значение, если ЛОЖЬ)
Примеры
Ниже приведены примеры некоторых распространенных вложенных операторов IF(AND()), IF(OR()) и IF(NOT()) в Excel. Функции AND и OR могут поддерживать до 255 отдельных условий, но не рекомендуется использовать больше, чем несколько, так как сложные вложенные формулы могут быть очень трудными для сборки, тестирования и обслуживания. У функции НЕ может быть только одно условие.
Ниже приведены формулы, которые описаны в соответствии с их логикой:
| Формула | Описание |
|---|---|
| =IF(AND(A2>0;B2<100);TRUE, FALSE) | Если A2 (25) больше нуля и B2 (75) меньше 100, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае оба условия имеют значение ИСТИНА, поэтому функция возвращает значение ИСТИНА. |
| =ЕСЛИ(И(A3="красный";B3="зеленый");ИСТИНА;ЛОЖЬ) | Если A3 ("Blue") = "Red", AND B3 ("Green") равно "Зеленый", то возвращает значение TRUE, в противном случае — FALSE. В этом случае только одно условие имеет значение ИСТИНА, поэтому возвращается значение ЛОЖЬ. |
| =IF(OR(A4>0;B4<50);TRUE, FALSE) | Если A4 (25) больше нуля или B4 (75) меньше 50, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае только первое условие имеет значение ИСТИНА, но поскольку для ИЛИ требуется, чтобы только один аргумент был истинным, формула возвращает значение ИСТИНА. |
| =ЕСЛИ(ИЛИ(A5="красный";B5="зеленый");ИСТИНА;ЛОЖЬ) | Если значение A5 ("Синий") равно "Красному", OR B5 ("Зеленый") равно "Зеленый", то возвращает значение TRUE, в противном случае возвращает значение FALSE. В этом случае второй аргумент имеет значение ИСТИНА, поэтому формула возвращает значение ИСТИНА. |
| =IF(NOT(A6>50);TRUE,FALSE) | Если A6 (25) НЕ больше 50, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае значение не больше чем 50, поэтому формула возвращает значение ИСТИНА. |
| =ЕСЛИ(НЕ(A7="красный");ИСТИНА;ЛОЖЬ) | Если значение A7 ("Синий") не равно "Red", возвращается значение TRUE, в противном случае возвращается значение FALSE. |
Обратите внимание, что во всех примерах есть закрывающая скобка после условий. Аргументы ИСТИНА и ЛОЖЬ относятся ко внешнему оператору ЕСЛИ. Кроме того, вы можете использовать текстовые или числовые значения вместо значений ИСТИНА и ЛОЖЬ, которые возвращаются в примерах.
Вот несколько примеров использования операторов И, ИЛИ и НЕ для оценки дат.
Ниже приведены формулы, которые описаны в соответствии с их логикой:
| Формула | Описание |
|---|---|
| =ЕСЛИ(A2>B2;TRUE;FALSE) | Если A2 больше B2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае 12.03.14 больше чем 01.01.14, поэтому формула возвращает значение ИСТИНА. |
| =IF(AND(A3>B2;A3<C2);TRUE;FALSE) | Если A3 больше B2 И меньше C2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае оба аргумента истинны, поэтому формула возвращает значение ИСТИНА. |
| =ЕСЛИ(ИЛИ(A4>B2;A4<B2+60);TRUE;FALSE) | Если A4 больше B2 ИЛИ меньше B2+60, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае первый аргумент равен ИСТИНА, а второй — ЛОЖЬ. Так как для оператора ИЛИ требуется, чтобы один из аргументов был истинным, формула возвращает значение ИСТИНА. Если вы используете мастер вычисления формул на вкладке "Формулы", вы увидите, как Excel вычисляет формулу. |
| =ЕСЛИ(NOT(A5>B2);TRUE;FALSE) | Если A5 не больше B2, возвращается значение ИСТИНА, в противном случае возвращается значение ЛОЖЬ. В этом случае A5 больше B2, поэтому формула возвращает значение ЛОЖЬ. |
Использование И, ИЛИ и NOT с условным форматированием в Excel
В Excel можно также использовать and, OR и NOT, чтобы задать условия условного форматирования с помощью параметра формулы. При этом вы можете опустить функцию ЕСЛИ.
В Excel на вкладке Главная щелкните Новое правило условного форматирования>. Затем выберите параметр "Использовать формулу для определения ячеек для форматирования", введите формулу и примените нужный формат.
в примере с предыдущими датами, ниже приведены формулы.
| Формула | Описание |
|---|---|
| =A2>B2 | Если A2 больше B2, отформатировать ячейку, в противном случае не выполнять никаких действий. |
| =AND(A3>B2,A3<C2) | Если A3 больше B2 И меньше C2, отформатировать ячейку, в противном случае не выполнять никаких действий. |
| =OR(A4>B2;A4<B2+60) | Если A4 больше B2 ИЛИ меньше B2 + 60, отформатировать ячейку, в противном случае не выполнять никаких действий. |
| =NOT(A5>B2) | Если A5 НЕ больше B2, отформатировать ячейку, в противном случае не выполнять никаких действий. В этом случае A5 больше B2, поэтому формула возвращает значение ЛОЖЬ. Если изменить формулу на =NOT(B2>A5), она вернет значение TRUE, а ячейка будет отформатирована. |
Примечание
Распространенной ошибкой является ввод формулы в условное форматирование без знака равенства (=). Если это сделать, вы увидите, что диалоговое окно Условное форматирование добавит знак равенства и кавычки в формулу - ="OR(A4>B2,A4<B2+60)", поэтому вам потребуется удалить кавычки, прежде чем формула будет правильно реагировать.
Дополнительные сведения
Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить поддержку в сообществах.
См. также
Узнайте, как использовать вложенные функции в формуле
Полные сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул