Прошлый раз мы использовали вложенные друг в друга функции ЕСЛИ для проверки нескольких условий. Начиная с версии Excel 2016 Microsoft предложила в качестве альтернативы новую функцию: ЕСЛИМН.
Идея создании этой функции была в упрощении написания вложенных функций ЕСЛИ. Эта функция может обрабатывать несколько логических условий без необходимости открывать несколько различных ЕСЛИ.
Эта функция требует список условий и значение, которое должно быть возвращено, если условие выполнено. Она будет последовательно перебирать условия и вернет значение для первого значения, которое вернет ИСТИНА.
Синтаксис функции ЕСЛИМН следующий:
=ЕСЛИМН(логическая_проверка1; если_значение_истина1;
[логическая_проверка2], [если_значение_истина2])
- Логическая проверка1: Первое условие для проверки. Это может быть что угодно, что может быть оценено как ИСТИНА или ЛОЖЬ.
- Если значение истина1: Значение, которое возвращается, если результат первого условия равен ИСТИНА.
- [Логическая проверка2]: Второе условие для проверки.
- [Если значение истина2]: Значение, которое будет возвращено, если результат второго условия будет ИСТИНА.
Функция ЕСЛИМН может включать в себя до 127 различных условий. Но это безумие! Пожалуйста, не делайте так, есть намного более эффективные способы для множественной проверки условий. Мы ещё поговорим об этом позже, а сегодня пока потренируемся на ЕСЛИМН.
Возможно, вы заметили, что в ЕСЛИМН в отличие от ЕСЛИ нет аргумента если ложь. Давайте посмотрим как это повлияет на написание формулы.
Возьмем список абитуриентов с баллами за экзамен из прошлого примера. Допустим нам надо разбить их на группы, в зависимости от балла: 90 и больше баллов - группа А, от 80 до 90 - группа B, от 70 до 80 - группа C, 60-70 - группа D и меньше 60 баллов - группа E.
Используем следующую формулу:
=ЕСЛИМН(B2>=90;"A";B2>=80;"B";B2>=70;"C";B2>=60;"D";B2<60;"E")
Последнее условие в функции ЕСЛИМН используется как аргумент иначе. Поскольку функция не имеет встроенного аргумента если ложь, то условие B2<60 было записано для возврата "E".
Функция ЕСЛИМН возвращает значение для первого условия, которое возвращает ИСТИНА. Поэтому при её использовании очень важен порядок условий.
Давайте попробуем расположить условия в обратном порядке:
=ЕСЛИМН(B2<60;"E";B2>=60;"D";B2>=70;"C";B2>=80;"B";B2>=90;"A")
Результаты катастрофические:
Большинство абитуриентов попало в группу D, потому что они получили баллов за экзамен >=60, а это первое условие, которое возвращает ИСТИНА.
Если проверяемое значение не соответствует ни одному из перечисленных критериев, то возвращается ошибка #Н/Д. Давайте вернем нашу первую формулу и внесем в нее изменение. Уберем проверку последнего условия <60 и возврата группы Е.
Получается, там где 59 баллов, возвращается ошибка, потому что 59 не отвечает ни одному условию. Обработку ошибок мы рассмотрим чуть позже.
А как бы выглядела наша формула, если бы мы использовали вложенные функции ЕСЛИ?
=ЕСЛИ(B2>=90;"A";ЕСЛИ(B2>=80;"B";ЕСЛИ(B2>=70;"C";ЕСЛИ(B2>=60;"D";"E"))))
Как на ваш взгляд, функция ЕСЛИМН сильно упрощает формулу? Если честно, не намного. Конечно, для новичков её использование упрощает жизнь, позволяя не открывать и закрывать несколько вложенных ЕСЛИ.
Однако обе формулы имеют практически схожий размер, да и отсутствие аргумента значение если ложь не лучшее решение.
Лучшим способом обработки нескольких логических условий было бы использование функции ПЕРЕКЛЮЧ, но о ней мы поговорим позднее. А пока, ЕСЛИМН - это один из имеющих право на жизнь способов.
В следующих нескольких статьях мы познакомимся с представителями ещё одного типа логических функций: И, ИЛИ, ИСКЛИЛИ и НЕ.
Не переключайтесь;)