Более понятные ветвления с помощью IFS
Заменяйте последовательность инструкций IF на понятную функцию IFS
«Более понятные ветвления с помощью IFS» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Проблема цепочек IF
Одна функция IF обрабатывает выбор между да и нет. Но что делать, если возможных результатов много, например если нужно преобразовать балл в буквенную оценку от A до F? Тогда придётся снова и снова вкладывать одну IF в другую.
Такая вложенность затрудняет чтение, её легко нарушить, а количество закрывающих скобок сложно подсчитать. Функция IFS создана именно для решения этой проблемы. Она позволяет записать пары «условие — результат» в одну понятную строку.
Как выглядят вложенные IF
Перед Вами формула для оценок, записанная с помощью вложенных функций IF. Каждая IF содержит ещё одну IF в своей ветви для ложного результата.
Формула работает, но обратите внимание, как в конце накапливаются скобки и как сложно просматривать эту логику. Представьте, насколько труднее будет поддерживать её при восьми ветвях вместо четырёх.
=IF(A2>=90, "A", IF(A2>=80, "B", IF(A2>=70, "C", "F")))Структура IFS
Функция IFS принимает пары аргументов: сначала условие, затем значение, которое нужно вернуть, если это условие истинно. Она проверяет их по порядку, сверху вниз.
- проверка1, значение1 если проверка1 истинна, вернуть значение1
- проверка2, значение2 иначе, если проверка2 истинна, вернуть значение2
Она возвращает значение для первого истинного условия, а затем останавливается. Можно объединить до 127 пар.
=IFS(test1, value1, test2, value2, ...)Переписываем формулу для оценок
Вот та же логика выставления оценок, теперь записанная с помощью IFS. Каждая строка содержит понятную пару «условие — результат», и скобки больше не накапливаются.
IFS сначала проверяет 90, затем 80 и 70. Побеждает первое истинное условие. По сравнению с вложенной версией эта формула выполняет ту же задачу, но читается гораздо понятнее.
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", A2>=60, "D")Порядок имеет значение
Поскольку IFS возвращает результат первого истинного условия, порядок проверок имеет решающее значение. Для диапазонов переходите от самого узкого к самому широкому.
Если поменять порядок оценок и сначала проверить A2>=60, результатом для балла 95 ошибочно станет D, поскольку 95 также больше 60, а эта пара стоит первой. Всегда тщательно упорядочивайте диапазоны оценок — последовательно от высокого к низкому или от низкого к высокому.
=IFS(A2>=90, "A", A2>=80, "B")Добавление случая по умолчанию
Если ни одно из условий не истинно, IFS возвращает ошибку #N/A. Чтобы этого избежать, добавьте в конце пару по умолчанию, условием которой просто является TRUE.
Поскольку TRUE всегда истинно, оно действует как последняя ветвь «иначе» в IF. В приведённой ниже формуле любой балл ниже 60 переходит к последней паре и возвращает F.
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", TRUE, "F")Разбор примера: уровни доставки
Предположим, вес заказа в A2 определяет метку доставки. Для веса менее 1 кг используется Малый вариант, менее 5 кг — Средний, менее 20 кг — Крупный, а для всего, что тяжелее, — Грузовой.
Приведённая ниже формула IFS перечисляет каждый уровень по порядку и использует TRUE как условие по умолчанию для самого большого веса. Каждый вес проверяется по диапазонам, пока не будет найдено совпадение.
=IFS(A2<1, "Small", A2<5, "Medium", A2<20, "Large", TRUE, "Freight")Использование AND и OR
Каждое условие в IFS может быть любой логической проверкой, включая AND или OR. Это позволяет создавать сложные ветви с несколькими факторами.
В примере ниже клиенту назначается категория: Gold, если он тратит больше 1000 и является участником программы, Silver, если он тратит больше 500 или является участником программы, а в остальных случаях — Standard.
=IFS(AND(A2>1000, B2="Yes"), "Gold", OR(A2>500, B2="Yes"), "Silver", TRUE, "Standard")Остерегайтесь непарных аргументов
IFS ожидает аргументы парами: после каждого условия должно следовать его значение. Распространённая ошибка — забыть результат или добавить лишнюю запятую, из-за чего один из аргументов остаётся без пары.
- Неправильно:
=IFS(A2>=90, "A", A2>=80)у последнего условия нет значения - Правильно:
=IFS(A2>=90, "A", A2>=80, "B")
Если вы получили ошибку, пересчитайте аргументы: их количество всегда должно быть чётным.
=IFS(A2>=90, "A", A2>=80, "B")IFS и SWITCH
IFS идеально подходит, когда каждая ветвь представляет собой сравнение, например с диапазоном или другим условием. Если же вы сравниваете одно значение с фиксированным списком точных вариантов, функция SWITCH часто оказывается удобнее.
Практическое правило: используйте IFS для диапазонов и разных условий, а SWITCH — когда сравниваете одну и ту же ячейку с несколькими точными значениями. С SWITCH вы познакомитесь позже в курсе.
Зачем нужна IFS
Функция IFS заменяет глубоко вложенные инструкции IF плоским и понятным списком пар «условие — результат». Это основной инструмент, когда значение может относиться к одной из нескольких категорий.
Запомните следующие правила:
- Тщательно упорядочивайте условия, поскольку срабатывает первое истинное условие
- Добавляйте условие по умолчанию
TRUE, чтобы избежать ошибки#N/A - Объединяйте аргументы в пары и следите, чтобы их количество было чётным
Теперь попробуйте быстро проверить свои знания.
Быстрая проверка
Проверьте, насколько хорошо вы поняли поведение функции IFS.
Итоги: более понятные ветви с IFS
Вы узнали, что IFS обрабатывает множество результатов с помощью плоского списка пар «условие и результат», заменяя сложные для чтения вложенные формулы IF.
- Синтаксис:
=IFS(test1, value1, test2, value2, ...) - Функция возвращает результат первого истинного условия, поэтому порядок важен
- Завершайте формулу конструкцией
TRUE, "default", чтобы обработать все остальные случаи - Условия могут включать
ANDиOR
Теперь вы умеете объединять условия с помощью AND, OR, NOT и IFS. Отличная работа!
=IFS(A2>=90, "A", A2>=80, "B", A2>=70, "C", TRUE, "F")Изучай Excel с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Более понятные ветвления с помощью IFS» бесплатный?
Да — полный текст урока «Более понятные ветвления с помощью IFS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Более понятные ветвления с помощью IFS»?
Заменяйте последовательность инструкций IF на понятную функцию IFS Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Более понятные ветвления с помощью IFS»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Требование всех условий с помощью AND
- Допуск любого совпадения с помощью OR
- Инверсия логики с помощью NOT
- Более понятные ветвления с помощью IFS