Возможности !SEMTools
Примеры применения функции ЕСЛИ
Раздел функцийЛогические
Название на английском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;""))}