Оглавление
В учебнике объясняется, как использовать множественные IF в Excel, и приводится несколько примеров вложенных формул If для наиболее распространенных задач.
Если кто-то спросит вас, какую функцию Excel вы используете чаще всего, что вы ответите? В большинстве случаев это будет функция ЕСЛИ. Обычная формула If, которая проверяет одно условие, очень проста и легка в написании. Но что если ваши данные требуют более сложных логических тестов с несколькими условиями? В этом случае вы можете включить несколько функций IF в одну формулу, и эти несколько Ifзаявления называются Вложенный IF в Excel Самое большое преимущество вложенного оператора If заключается в том, что он позволяет проверять более одного условия и возвращать различные значения в зависимости от результатов этих проверок, и все это в одной формуле.
Microsoft Excel имеет ограничения по уровни вложенных IF В Excel 2003 и ниже допускалось не более 7 уровней. В Excel 2007 и выше в одну формулу можно вложить до 64 функций IF.
Далее в этом руководстве вы найдете несколько примеров вложенных If в Excel, а также подробное объяснение их синтаксиса и логики.
Пример 1. Классическая вложенная формула IF
Вот типичный пример Excel If с несколькими условиями. Предположим, у вас есть список студентов в столбце A и их экзаменационные баллы в столбце B, и вы хотите классифицировать баллы со следующими условиями:
- Отлично: более 249
- Хороший: от 249 до 200 включительно
- Удовлетворительно: от 199 до 150 включительно
- Бедные: менее 150
А теперь давайте напишем вложенную функцию ЕСЛИ на основе вышеуказанных критериев. Считается хорошей практикой начинать с самого важного условия и максимально упрощать свои функции. Наша вложенная формула ЕСЛИ в Excel выглядит следующим образом:
=IF(B2>249, "Отлично", IF(B2>=200, "Хорошо", IF(B2>150, "Удовлетворительно", "Плохо")))
И работает именно так, как нужно:
Понимание логики вложенных IF в Excel
Я слышал, как некоторые люди говорили, что Excel multiple If сводит их с ума :) Попробуйте посмотреть на это под другим углом:
На самом деле формула указывает Excel сделать следующее: оценить значение логический_тест первой функции ЕСЛИ и, если условие выполнено, возвращает значение, заданное в функции значение_если_истина аргумент. Если условие 1-й функции If не выполняется, то проверяется 2-е утверждение If, и так далее.
ЕСЛИ( проверить, если B2>=249, если истина - возврат "Превосходно", иначеЕСЛИ( проверить, если B2>=200, если истина - возврат "Хорошо", иначе
ЕСЛИ( проверить, если B2>150, если истина - возврат "Удовлетворительно", если false -
return "Poor")))
Пример 2. Множество If с арифметическими вычислениями
Вот еще одна типичная задача: цена единицы товара зависит от указанного количества, и ваша цель - написать формулу, которая вычисляет общую цену для любого количества товара, введенного в определенную ячейку. Другими словами, ваша формула должна проверять несколько условий и выполнять различные вычисления в зависимости от того, в какой диапазон количества попадает указанное количество товара:
Единица измерения Количество | Цена за единицу |
от 1 до 10 | $20 |
11 - 19 | $18 |
от 20 до 49 | $16 |
от 50 до 100 | $13 |
Более 101 | $12 |
Эта задача также может быть решена с помощью нескольких функций ЕСЛИ. Логика такая же, как и в приведенном выше примере, с той лишь разницей, что вы умножаете указанное количество на значение, возвращаемое вложенными ЕСЛИ (т.е. соответствующую цену за единицу).
Если предположить, что пользователь вводит количество в ячейку B8, формула будет выглядеть следующим образом:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
И результат будет выглядеть примерно так:
Как вы понимаете, этот пример демонстрирует только общий подход, и вы можете легко настроить эту вложенную функцию If в зависимости от вашей конкретной задачи.
Например, вместо "жесткого" ввода цен в формулу можно сослаться на ячейки, содержащие эти значения (ячейки с B2 по B6). Это позволит пользователям редактировать исходные данные без необходимости обновлять формулу:
=B8*IF(B8>=101, B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Или вы можете включить дополнительную функцию (функции) IF, которая фиксирует верхнюю, нижнюю или обе границы диапазона количества. Когда количество находится вне диапазона, формула выведет сообщение "вне диапазона". Например:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Описанные выше вложенные формулы ЕСЛИ работают во всех версиях Excel. В Excel 365 и Excel 2021 для той же цели можно использовать функцию ЕСЛИ.
Продвинутые пользователи Excel, знакомые с формулами массивов, могут использовать эту формулу, которая в принципе делает то же самое, что и вложенная функция ЕСЛИ, рассмотренная выше. Хотя формула массива намного сложнее для понимания, не говоря уже о написании, она имеет одно неоспоримое преимущество - вы указываете диапазон ячеек, содержащих ваши условия, а не ссылаетесь на каждое условие по отдельности. Это делаетформула более гибкая, и если ваши пользователи изменят какое-либо из существующих условий или добавят новое, вам придется обновить только одну ссылку на диапазон в формуле.
Вложенные IF в Excel - советы и рекомендации
Как вы только что убедились, в использовании множественного IF в Excel нет ничего сложного. Следующие советы помогут вам улучшить вложенные формулы IF и предотвратить распространенные ошибки.
Вложенные ограничения IF
В Excel 2007 - Excel 365 вы можете вложить до 64 функций ЕСЛИ. В старых версиях Excel 2003 и ниже можно использовать до 7 вложенных функций ЕСЛИ. Однако тот факт, что вы можете вложить много функций ЕСЛИ в одну формулу, не означает, что вы должны это делать. Помните, что каждый дополнительный уровень делает вашу формулу более сложной для понимания и устранения неполадок. Если ваша формула имеет слишком много вложенных уровней, вы можетехотите оптимизировать его, используя одну из этих альтернатив.
Порядок вложенных функций ЕСЛИ имеет значение
Вложенная функция ЕСЛИ в Excel оценивает логические тесты в порядке их появления в формуле, и как только одно из условий получает значение TRUE, последующие условия не проверяются. Другими словами, формула останавливается после первого результата TRUE.
Давайте посмотрим, как это работает на практике. При B2, равном 274, вложенная формула IF ниже оценивает первый логический тест (B2>249) и возвращает "Отлично", потому что этот логический тест TRUE:
=IF(B2>249, "Отлично", IF(B2>=200, "Хорошо", IF(B2>150, "Удовлетворительно", "Плохо")))
Теперь давайте изменим порядок функций IF на обратный:
=IF(B2>150, "Удовлетворительно", IF(B2>200, "Хорошо", IF(B2>249, "Отлично", "Плохо")))
Формула проверяет первое условие, и поскольку 274 больше 150, результат этого логического теста также TRUE. Следовательно, формула возвращает "Удовлетворительно" без проверки других условий.
Видите ли, изменение порядка следования функций IF меняет результат:
Оценить логику формулы
Чтобы шаг за шагом проследить логический поток вашей вложенной формулы IF, используйте функцию Evaluate Formula, расположенную на странице Формула во вкладке Аудит формул группа. Подчеркнутое выражение - это часть, которая в данный момент оценивается, и щелчок по кнопке Оценить кнопка покажет вам все этапы процесса оценки.
Например, оценка первого логического теста вложенной формулы IF, показанной на скриншоте ниже, будет выглядеть так: B2>249; 274>249; TRUE; Excellent.
Сбалансируйте скобки вложенных функций ЕСЛИ
Одной из основных проблем при работе с вложенными IF в Excel является согласование пар скобок. Если скобки не совпадают, ваша формула не будет работать. К счастью, Microsoft Excel предоставляет несколько функций, которые могут помочь вам сбалансировать скобки при редактировании формулы:
- Если у вас более одного набора круглых скобок, пары скобок затеняются разными цветами так, чтобы открывающая скобка совпадала с закрывающей.
- Когда вы закрываете скобку, Excel кратковременно выделяет соответствующую пару. Такой же эффект выделения жирным шрифтом или "мерцания" возникает при перемещении по формуле с помощью клавиш со стрелками.
Дополнительную информацию см. в разделе Сопоставление пар круглых скобок в формулах Excel.
По-разному обрабатывайте текст и числа
При построении логических тестов вложенных формул IF помните, что текст и числа должны обрабатываться по-разному - всегда заключайте текстовые значения в двойные кавычки, но никогда не заключайте в кавычки числа:
Правильно: =IF(B2>249, "Отлично",...)
Неправильно: =IF(B2>"249", "Excellent",…)
Логический тест второй формулы вернет FALSE, даже если значение в B2 больше 249. Почему? Потому что 249 - это число, а "249" - числовая строка, а это две разные вещи.
Добавьте пробелы или переносы строк, чтобы вложенные IF было легче читать
При построении формулы с несколькими вложенными уровнями IF можно сделать логику формулы более понятной, разделив различные функции IF пробелами или переводами строк. Excel не заботится о лишних пробелах в формуле, поэтому вы можете не беспокоиться об их искажении.
Чтобы перенести определенную часть формулы на следующую строку, просто щелкните в том месте, где вы хотите вставить разрыв строки, и нажмите Alt + Enter . Затем разверните панель формул настолько, насколько это необходимо, и вы увидите, что ваша вложенная формула IF стала намного проще для понимания.
Альтернативы вложенному IF в Excel
Чтобы обойти ограничение в семь вложенных функций ЕСЛИ в Excel 2003 и более старых версиях и сделать свои формулы более компактными и быстрыми, воспользуйтесь следующими альтернативами вложенным функциям ЕСЛИ Excel.
- Чтобы проверить несколько условий и вернуть различные значения по результатам этих тестов, вместо вложенных IF можно использовать функцию CHOOSE.
- Постройте справочную таблицу и используйте VLOOKUP с приблизительным соответствием, как показано в этом примере: VLOOKUP вместо вложенного IF в Excel.
- Используйте IF с логическими функциями OR / AND, как показано в этих примерах.
- Используйте формулу массива, как показано в этом примере.
- Объедините несколько операторов IF с помощью функции CONCATENATE или оператора конкатенации (&). Пример формулы можно найти здесь.
- Для опытных пользователей Excel лучшей альтернативой использованию нескольких вложенных функций ЕСЛИ может стать создание пользовательской функции рабочего листа с помощью VBA.
Вот так можно использовать формулу If в Excel с несколькими условиями. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе.
Рабочая тетрадь для тренировок для скачивания
Вложенные операторы If Excel (файл .xlsx)