
Раздел функций | Логические |
Название на английском | IF |
Волатильность | Не волатильная |
Похожие функции | ЕСЛИОШИБКА, ЕОШ, ЕОШИБКА, ЕНД |
Что делает эта функция?
Функция проверят истинность первого аргумента – вычисления или значения ячейки. В зависимости от результата будут выполнены вычисления или возвращены другие значения.
Синтаксис
=ЕСЛИ(Условие;ЕслиИстина;ЕслиЛожь)
Условие обычно является вычислением, возвращающим булевый результат (ИСТИНА или ЛОЖЬ).
Критерии сравнения, которые при этом обычно используются: ‘=’ (равно), ‘>’ (больше), ‘<‘ (меньше), ‘<>’ (не равно), ‘>=’ (больше или равно), ‘<=’ (меньше или равно). Сравнивать между собой можно и логические, и цифровые, и текстовые значения.
Функция может принимать на вход и числа. Числа, не равные нулю, считаются эквивалентны ИСТИНА, 0 – ЛОЖЬ.
Другие особенности функции ЕСЛИ:
- Если входящее значение дано как массив, функция ЕСЛИ обработает каждый элемент этого массива.
Примеры применения
Пример 1
Как проверить, что ячейка содержит цифры? На этом сайте есть детальное рассмотрение решения этой задачи, в том числе с помощью надстройки !SEMTools, которая наиболее быстро позволяет ее решить. Но сейчас мы рассмотрим ее именно с помощью ЕСЛИ.
Можно проверить, содержит ли она каждую из цифр, поочередно, и если не содержит ни одной, сообщить, что не содержит. Общий псевдосинтаксис для проверки на истинность нескольких значений будет вовлекать вложение функции ИЛИ.
=ЕСЛИ(СЧЁТ(Проверка1;Проверка2;...);ЕслиИстина;ЕслиЛожь)
Здесь СЧЁТ вернет нам положительное число, если не равно нулю или ошибке хотя бы одно из выражений, подаваемых ему на вход (в скобках после него), или 0, если нет. А функция ЕСЛИ обработает этот результат как ИСТИНА, если число будет положительным, и как ЛОЖЬ, если оно будет равно нулю.
Для проверки вхождения цифр в строку мы воспользуемся функцией ПОИСК.
Попробуем переложить синтаксис на пример с цифрами. Так будет выглядеть формула (не удивляйтесь переносам строки и пробелам – они не учитываются в Excel и вы можете для удобства составлять сложные формулы так же).

А ниже интерактивная таблица с приведенной формулой. Можно изменять ячейки, скопировать значения или формулу ячеек в свой Excel. Или скачать весь файл.
Пример 2
Как ускорить ВПР в 50.000 раз? С помощью ЕСЛИ и второго ВПР! Нет, здесь нет ошибки. Подробно об этом увлекательном феномене можно почитать в соответствующей статье про функцию ВПР, а здесь лишь будет приведен файл и формула с участием ЕСЛИ.
Так выглядит ее синтаксис:
=ЕСЛИ( ВПР(A1;$E$1:$E$400000;1;1)=A1; ВПР(A1;$E$1:$F$400000;2;1); "")
Переводя на человеческий язык, формула означает, что если возвращенное бинарным поиском значение в первом столбце равно искомому, мы производим второй бинарный поиск – возвращая уже второй столбец. А если нет – возвращаем пустую строку.
Если не верите, что 250.000 ячеек можно сравнить с другими 400.000 ячеек чуть медленнее, чем за мгновение, скачайте файл и попробуйте скопировать формулу в столбце B вниз до конца:
Пример 3
В версях Excel до 2016 отсутствуют функции МАКСЕСЛИ и МИНЕСЛИ. Но нам ничто не мешает создать их аналог с помощью формул массива.
Допустим, мы хотим посчитать наибольшее и наименьшее четное число в диапазоне A1:A10.
Используем на массиве функцию ЕЧЁТН (Появилась в Excel 2007) и будем возвращать само число, если оно чётное, и пустую строку, если нечётное. Итоговый массив обработаем функциями МАКС и МИН:
{=МАКС(ЕСЛИ(ЕЧЁТН(A1:A10+0);A1:A10;""))} {=МИН(ЕСЛИ(ЕЧЁТН(A1:A10+0);A1:A10;""))}
А если у нас Excel 2003 и функция ЕЧЁТН для нас тоже недоступна, используем функцию ОСТАТ, проверяя остаток от деления на 2:
{=МАКС(ЕСЛИ(ОСТАТ(A1:A10;2)=0;A1:A10;""))} {=МИН(ЕСЛИ(ОСТАТ(A1:A10;2)=0;A1:A10;""))}