Функция если то в excel примеры. Как сделать функцию если то в excel? А если один из параметров не заполнен

Основу любого логического выражения составляют две величины: истина (TRUE) и ложь (FALSE). С помощью логических выражений строятся многочисленные деревья решений. Самое простое – вопрос с ответом «ДА» или «НЕТ». В случае «ДА» выполняется одно действие, в случае «НЕТ» – другое. Для реализации условий существует программный оператор IF (ЕСЛИ).

В программе EXCEL есть функция IF , которая позволяет сделать самые невероятные логические конструкции, вкладывая операторы IF друг в друга. В старых версиях программы вложенность была ограничена 7 уровнями, ЕСЛИ в EXCEL 2010 не имеет ограничений, а в версии 2016 появилась новая функция ЕСЛИМН, учитывающая множественность вложений.

Познакомимся с многоликой функцией IF.

Функция IF

ЕСЛИ – стандартная функция программы EXCEL, которая выполняет проверку конкретного условия . Условие представляет собой вопрос, имеющий два ответа: истина и ложь.

Условие записывается в виде логического выражения, состоящего из правой и левой части, связанного логическими операторами сравнения: больше (>), меньше (<), равно (=), неравно (<>), а также >= и <=. Результат сравнения показывает, выполняется или нет это условие. В случае выполнения условия отрабатывает алгоритм ИСТИНА, в противном случае – ЛОЖЬ.

Синтаксис функции выглядит следующим образом:

ЕСЛИ (логическое_выражение; значение_если_истина; значение_если_ложь).

Функции ЕСЛИ в EXCEL, примеры

Простым примером реализации функции IF может служить необходимость присвоения качественного признака ряду значений . Например, необходимо выделить в списочном кадровом составе предприятия всех работников моложе 35 лет. Для этого достаточно в новый столбец напротив каждой фамилии подставить формулу вида: =ЕСЛИ(ячейка_с_возрастом<35; 1;0). Таким образом, всем молодым людям будет присвоен качественный признак =1, который даст возможность работать только с нужной частью списка.

Интересен вариант работы с формулой IF, когда используется не цифровые данные, а текст.

Текст в формуле нужно выделять кавычками для корректной отработки функции .

Всем инженерам 2 категории премия составляет 30%, остальным работникам – 50%. Для реализации этого условия вставляем формулу: =ЕСЛИ(ячейка_профессия=“инженер 2 категории”; “премия 30%”; “премия 50%”). Все инженеры 2 категории промаркируются данными по премии в 30%, остальным работникам будет введено значение «премия 50%».

Когда условия более сложные, то используют комбинации вложенных функций.

Применение вложенных IF

На предприятии при ведении табеля учёта рабочего времени возникает необходимость поставить месячную норму времени для расчёта зарплаты . У разных специалистов эта величина различается. С помощью функции IF можно легко решить эту задачу.

Пусть у дневного персонала месячная норма равна 162 часа, у сменного при 8-часовом рабочем дне она составит 148 часов, а при рабочем дне 7,2 часа норма будет равна 136 часов.

Тогда нужно проверить дневную норму работника (8 или 7,2 часа) и категорию работающего (смена или день). Реализовать такую проверку можно разными способами.

  • Вариант 1

Когда в качестве первой проверки берём дневную норму и вторую проверку делаем по истине, то формула будет следующая:

ЕСЛИ(ячейка_дневнаянорма=8; ЕСЛИ(ячейка_категория=“смена”;148;162);136)

  • Вариант 2

Первую проверку оставляем прежней, вторую проверяем по лжи, то выражение будет выглядеть так:

ЕСЛИ(ячейка_дневнаянорма=7.2; 136;ЕСЛИ(ячейка_категория=“смена”;148;162))

  • Вариант 3

Когда первую проверку делаем по категории, то имеем: =ЕСЛИ(ячейка_категория=“смена”;ЕСЛИ(ячейка_дневнаянорма =8;148;136);162)

Результат во всех случаях будет одинаковый.

Допустим, что есть ещё смена по 12 часов с нормой в 144 часа. Тогда для реализации такого алгоритма потребуется ещё одно вложение функции IF. Это уже третий уровень.

Следующее выражение даёт решение и в этом случае:

Освоив принцип проверок, можно сделать сложные древовидные структуры . Хотя на практике более 4 уровней вложенности практически не применяется, так как более сложные комбинации можно реализовать проще через другие функции программы, работающие с выбором данных из массивов по критериям.

Одновременное применение двух условий

Многоликость функции IF выражается в том, что её можно применять одновременно с другими функциями. В EXCEL есть ряд полезных встроенных конструкций, использующих метод IF. Это такие формулы, как СУММЕСЛИ, СЧЕТЕСЛИ, СРЗНАЧЕСЛИ. С их помощью легко выполнять расчёты по конкретному условию. Но и саму конструкцию IF можно применить одновременно с другими функциями. Рассмотрим её одновременное использование с оператором И и ИЛИ.

Функция IF с формулой И

Если требуется чтобы было выполнено одновременно несколько условий, то поможет конструкция И , имеющая синтаксис:

И(лог_выраж1; лог_выраж2;лог_выраж3;…)

Она проверяет истинность каждой из логических структур и возвращает ИСТИНУ только при истинности всех проверяемых выражений.

Где это можно использовать? Например, необходимо выделить из общего списка работников только слесарей 6 разряда, имеющих стаж работы больше 10 лет, то поможет конструкция вида:

ЕСЛИ(И(ячейка_профессия=”слесарь”;ячейка_разряд=6;ячейка_стаж>=10); 1;0)

Эта формула выделит в общем списке нужную категорию работников по установленному качественному признаку =1.

Функция IF с формулой ИЛИ

Вариант использования функции ИЛИ с IF может быть следующий. Руководство предприятия в течение года поквартально поощряло работников. Необходимо выбрать всех, кто получал поквартальные премии больше 5000 р.

Конструкция ИЛИ имеет синтаксис аналогичный формуле И. Но ИСТИНА возвращается при условии истинности хотя бы одного логического выражения.

В нашем примере необходима формула:

ЕСЛИ(ИЛИ(ячейка_премия1квартал>=5000; ячейка_премия2квартал>=5000; ячейка_премия3квартал>=5000; ячейка_премия4квартал>=5000);1;0)

Последующая фильтрация данных по признаку 1 даст сделать нужный список трудящихся.

Таким образом, очевидна полезность функции IF. В новых версиях программы появляются улучшенные формулы, объединяющие наиболее востребованные старые приёмы и действия, что даёт неограниченные возможности для изучения и применения на практике программы эксель.

Функция ЕСЛИ() , английский вариант IF(), используется при проверке условий. Например, =ЕСЛИ(A1>100;"Бюджет превышен";"ОК!") . В зависимости от значения в ячейке А1 результат формулы будет либо "Бюджет превышен" либо "ОК!".

Функция ЕСЛИ() относится к наиболее часто используемым функциям.

Синтаксис функции

ЕСЛИ(лог_выражение;значение_если_истина;[значение_если_ложь])

Лог_выражение - любое значение или выражение, принимающее значения ИСТИНА или ЛОЖЬ.
=ЕСЛИ(A1>=100;"Бюджет превышен";"ОК!")
Т.е. если в ячейке A1 содержится значение большее или равное 100, то формула вернет ОК!, а если нет, то Бюджет превышен .

В качестве аргументов функции, могут участвовать формулы, например:
=ЕСЛИ(A1>100;СУММ(B1:B10);СУММ(C1:C10))
Т.е. если в ячейке A1 содержится значение >100, то суммирование ведется по столбцу B , а если меньше, то по столбцу С .

Вложенные ЕСЛИ

В EXCEL 2007 в качестве значений аргументов значение_если_истина и значение_если_ложь можно для построения более сложных проверок использовать до 64 вложенных друг в друга функций ЕСЛИ() .
=ЕСЛИ(A1>=100;"Бюджет превышен";ЕСЛИ(A1>=90;"Крупный проект";ЕСЛИ(A1>=50;"Средний проект";"Малый проект ")))

ПРОСМОТР(A1;{0;50;90;100};{"Малый проект";"Средний проект";"Крупный проект";"Бюджет превышен"})

ВПР(A1;A3:B6;2)

Для функции ВПР() необходимо создать в диапазоне A3:B6 таблицу значений:

Если требуется вывести разный текст в случае наличия в ячейке А1 отрицательного значения, положительного значения или 0, то можно записать следующую формулу:

ПРОСМОТР(A1;{-1E+307;0;1E-307};{"<0";"=0";">0"})

или, если требуется вместо текстовых значений вывести формулы, можно использовать ссылки на диапазон ячеек (содержащих формулы)

ПРОСМОТР(A24;{-1E+307;0;1E-307};A27:A29) (см. файл примера )

Опущен третий аргумент [значение_если_ложь]

Третий аргумент функции не обязателен, если его опустить, то функция вернет значение ЛОЖЬ (если условие не выполнено).
=ЕСЛИ(A1>100;"Бюджет превышен")
Если в ячейке A1 содержится значение 1, то вышеуказанная формула вернет значение ЛОЖЬ.

Вместо ИСТИНА или ЛОЖЬ в первом аргументе введено число

Т.к. значение ЛОЖЬ эквивалентно 0, то формулы
=ЕСЛИ(0;"Бюджет превышен";"ОК!")
или (если в ячейке A1 содержится значение 0)
=ЕСЛИ(A1;"Бюджет превышен";"ОК!")

вернут ОК!

Если в ячейке A1 находится любое другое число кроме 0, то формула вернет Бюджет превышен . Такой подход удобен, когда проверяется равенство значения нулю.

Связь функции ЕСЛИ() с другими функциями использующие условия

EXCEL содержит также другие функции, которые можно применять для анализа данных с использованием условий. Например, для подсчета количества вхождений чисел в диапазоне ячеек используется функция СЧЁТЕСЛИ() , а для сложения значений, удовлетворяющих определенным условиям, используется функция СУММЕСЛИ() .

Функция ЕСЛИ() , как альтернативный вариант, может быть также использована для подсчета и сложения значений с использованием условий. Ниже приведены иллюстрирующие примеры.

Пусть данные находятся в диапазоне A6:A11 (см. файл примера)

Логические выражения используются для записи условий, в которых сравниваются числа, функции, формулы, текстовые или логические значения. Любое логическое выражение должно содержать по крайней мере один оператор сравнения, который определяет отношение между элементами логического выражения. Ниже представлен список операторов сравнения Excel

>= Больше или равно

Результатом логического выражения является логическое значение ИСТИНА (1) или логическое значение ЛОЖЬ (0).

Функция ЕСЛИ

Функция ЕСЛИ (IF) имеет следующий синтаксис:


=ЕСЛИ(логическое_выражение;значение_если_истина;значение_если_ложь)


Следующая формула возвращает значение 10, если значение в ячейке А1 больше 3, а в противном случае - 20:


ЕСЛИ(А1>3;10;20)


В качестве аргументов функции ЕСЛИ можно использовать другие функции. В функции ЕСЛИ можно использовать текстовые аргументы. Например:


ЕСЛИ(А1>=4;"Зачет сдал";"Зачет не сдал")


Можно использовать текстовые аргументы в функции ЕСЛИ, чтобы при невыполнении условия она возвращала пустую строку вместо 0.

Например:


ЕСЛИ(СУММ(А1:А3)=30;А10;"")


Аргумент логическое_выражение функции ЕСЛИ может содержать текстовое значение. Например:


ЕСЛИ(А1="Динамо";10;290)


Эта формула возвращает значение 10, если ячейка А1 содержит строку "Динамо", и 290, если в ней находится любое другое значение. Совпадение между сравниваемыми текстовыми значениями должно быть точным, но без учета регистра.

Функции И, ИЛИ, НЕ

Функции И (AND), ИЛИ (OR), НЕ (NOT) - позволяют создавать сложные логические выражения. Эти функции работают в сочетании с простыми операторами сравнения. Функции И и ИЛИ могут иметь до 30 логических аргументов и имеют синтаксис:


=И(логическое_значение1;логическое_значение2...)
=ИЛИ(логическое_значение1;логическое_значение2...)


Функция НЕ имеет только один аргумент и следующий синтаксис:


=НЕ(логическое_значение)


Аргументы функций И, ИЛИ, НЕ могут быть логическими выражениями, массивами или ссылками на ячейки, содержащие логические значения.

Приведем пример. Пусть Excel возвращает текст "Прошел", если ученик имеет средний балл более 4 (ячейка А2), и пропуск занятий меньше 3 (ячейка А3). Формула примет вид:


=ЕСЛИ(И(А2>4;А3


Не смотря на то, что функция ИЛИ имеет те же аргументы, что и И, результаты получаются совершенно различными. Так, если в предыдущей формуле заменить функцию И на ИЛИ, то ученик будет проходить, если выполняется хотя бы одно из условий (средний балл более 4 или пропуски занятий менее 3). Таким образом, функция ИЛИ возвращает логическое значение ИСТИНА, если хотя бы одно из логических выражений истинно, а функция И возвращает логическое значение ИСТИНА, только если все логические выражения истинны.

Функция НЕ меняет значение своего аргумента на противоположное логическое значение и обычно используется в сочетании с другими функциями. Эта функция возвращает логическое значение ИСТИНА, если аргумент имеет значение ЛОЖЬ, и логическое значение ЛОЖЬ, если аргумент имеет значение ИСТИНА.

Вложенные функции ЕСЛИ

Иногда бывает очень трудно решить логическую задачу только с помощью операторов сравнения и функций И, ИЛИ, НЕ. В этих случаях можно использовать вложенные функции ЕСЛИ. Например, в следующей формуле используются три функции ЕСЛИ:


=ЕСЛИ(А1=100;"Всегда";ЕСЛИ(И(А1>=80;А1 =60;А1


Если значение в ячейке А1 является целым числом, формула читается следующим образом: "Если значение в ячейке А1 равно 100, возвратить строку "Всегда". В противном случае, если значение в ячейке А1 находится между 80 и 100, возвратить "Обычно". В противном случае, если значение в ячейке А1 находится между 60 и 80, возвратить строку "Иногда". И, если ни одно из этих условий не выполняется, возвратить строку "Никогда". Всего допускается до 7 уровней вложения функций ЕСЛИ.

Функции ИСТИНА и ЛОЖЬ

Функции ИСТИНА (TRUE) и ЛОЖЬ (FALSE) предоставляют альтернативный способ записи логических значений ИСТИНА и ЛОЖЬ. Эти функции не имеют аргументов и выглядят следующим образом:


=ИСТИНА()
=ЛОЖЬ()


Например, ячейка А1 содержит логическое выражение. Тогда следующая функция возвратить значение "Проходите", если выражение в ячейке А1 имеет значение ИСТИНА:


ЕСЛИ(А1=ИСТИНА();"Проходите";"Стоп")


В противном случае формула возвратит "Стоп".

Функция ЕПУСТО

Если нужно определить, является ли ячейка пустой, можно использовать функцию ЕПУСТО (ISBLANK), которая имеет следующий синтаксис:


=ЕПУСТО(значение)


Логические выражения

Логические выражения в Excel используются для записи условий, в которых сравниваются числа, функции, формулы, текстовые или логические значения. Любое логическое выражение должно содержать, по крайней мере, один оператор сравнения, который определяет отношение между элементами логического выражения.

Ниже представлен список операторов сравнения Excel:

Результатом логического выражения является логическое значение ИСТИНА (1) или логическое значение ЛОЖЬ (0).

Функция ЕСЛИ

Функция ЕСЛИ – это функция, которая позволяет вывести в ячейку одно значение, если заданное пользователем условие выполняется и другое – если условие не выполняется.

Синтаксис:

ЕСЛИ(лог_выраж.; знач._если_истина; знач._если_ложь)

    Переместить курсор в ячейку D 2 . С помощью мастера функций выбрать из категории Логические функцию ЕСЛИ (рис. 27), а затем щелкнуть на кнопке ОК.

    Диалоговое окно Аргументы функции (рис. 28) содержит три поля ввода. В поле Лог _ выражение необходимо ввести условие, которое определяет, превышает ли проданное кол-во товара 5 шт., следовательно введем в это поле С2>5 . В поле Значение_если_истина необходимо ввести формулу, которая вычисляет стоимость товара с учетом скидки, тогда введем в это поле B2*C2-B2*C2*0,1 . В поле Значение_если_ложь необходимо ввести формулу, которая вычисляет стоимость товара без учета скидки (условие С2>5 - Ложь), в тогда введем в это поле B2*C2 (см. рис. 29). Теперь щелкнем на кнопке OK.

    Скопировать полученную формулу в смежные ячейки. Результаты вычислений формул приведены на рис. 30.

Функции ЕСЛИ могут быть вложены друг в друга в качестве значений аргументов значение_если_истина и значение_если_ложь. С помощью таких вложенных функций Если можно конструировать более сложные проверки. Рассмотрим на примерах, как необходимо использовать вложенной функцией ЕСЛИ .

На рис. 31 приведена таблица с данными. Необходимо:

    Определить, на какую сумму продано товаров каждого вида.

    Определить, на какую сумму продано товаров каждого вида с учетом скидки (сумма с учетом скидки = сумма - сумма * скидка). Скидка начисляется по следующему принципу: если продано товара на сумму более 2500 грн., то скидка составит 5%, если продано товара на сумму менее 1100 грн., то скидка составит 0%, в остальных случаях скидка составит 2%.

Для того чтобы выполнить первый пункт задания необходимо в ячейку D2 ввести формулу =C2*B2 .

Для того чтобы вычислить сумму со скидкой будем использовать вложенную функцию ЕСЛИ, так как существует три варианта начисления скидки.

Переместим курсор в ячейку E2 и с помощью мастера функций введем следующую формулу (рис. 33 – 34). Результаты решения приведены на рис. 35.

Щелкнуть тут

Рис. 35

Функции ИЛИ, И

Функции И и функция ИЛИ из категории Логические способны заметно улучшить наглядность и понятность сложных логических проверок. Функция ИЛИ и функция И позволяют задавать в формуле одновременно несколько условий, т.е. дают возможность создавать сложные логические выражения. Эти функции работают в сочетании с простыми операторами сравнения. Функции И и ИЛИ могут иметь до 30 логических аргументов и имеют синтаксис:

ИЛИ(логическое_значение1;логическое_значение2; ...)

И(логическое_значение1; логическое_значение2; ...)

Аргументы функций И, ИЛИ могут быть логическими выражениями, массивами или ссылками на ячейки, содержащие логические значения.

Функция ИЛИ ИСТИНА , если хотя бы одно из логических выражений истинно, а функция И возвращает логическое значение ИСТИНА , только если все логические выражения истинны.

Предположим, что нужно вывести сообщение «Светофор», если содержимое ячейки B4 или «красный», или «зеленый», или «желтый». Если же она содержит любую другую информацию, то необходимо вывести сообщение «Это не светофор!!!».

ЕСЛИ(ИЛИ(B4= "зеленый" ;B4= "красный" ;B4= "желтый" );"Светофор"; "Это не светофор!!!")

Предположим, что нужно вывести на экран содержимое ячейки B4 , если она содержит число строго между 1 и 100 (1<=B4<=100), и сообщение "Значение вне интервала" в противном случае.

ЕСЛИ(И(B4>=1; B4<=100); B4; «Значение вне интервала»)

Есть список дат, необходимо определить, является ли выходным днем введенная дата. Решения задачи на рис. 36

Формулу в ячейке В2 можно вводить с клавиатуры (необходимо помнить синтаксис используемых вложенных функций) или с помощью мастера функции. Рассмотрим, как вводить формулу с помощью мастера функций:

    Переместим курсор в ячейку В2, щелкнем на кнопке вставка функции и в категории логические выберем функцию Если .

    Щелкнем в поле Лог _ выражение функции Если, а затем щелкнем на стрелке вниз в строке формул и выберем Другие функции (см. рис. 37). Теперь в категории Логические можно выбрать функцию ИЛИ .

    Щелкнем в поле Логическое_выражение_1 функции ИЛИ , а затем щелкнем на стрелке вниз в строке формул и выберем Другие функции. В категории Дата и время выберем функцию ДЕНЬНЕД и в поле Дата_в_числом_формате введем А2 , а в поле Тип введем 2 .

    ИЛИ ИЛИ , для того чтобы закончить ввод условия в первое поле этой функции (набираем = 6).

    Щелкнем в поле Логическое_выражение_2 функции ИЛИ и повторим действия пункта 3 и 4, чтобы ввести второе условие ДЕНЬНЕД(А2;2)=7.

    В строке формул щелкнем мышкой внутри слова ЕСЛИ и таким образом, сможем вернуться в диалоговое окно функции ЕСЛИ , для того чтобы закончить ввод формулы (в поле Значение_если_истина вводим Выходной день , в поле Значение_если_ложь вводим пробел).

Информация о результатах первого модульного контроля и посещаемости студентами занятий выведена в таблице см. рис. 38. Необходимо вывести следующую информацию: Если средний бал студента меньше или равен 3,5 и он пропустил более 49 часов занятий по неуважительной причине, то необходимо вызвать родителей в деканат; если средний бал студента больше или 4,5 и он пропустил не более 10 часов занятий по неуважительной причине, то необходимо отправить родителям письмо благодарность. Решение задачи представлено на рис. 39.

Функции СЧЁТЕСЛИ и СУММЕСЛИ

Эти функции надо искать не в категории Логические , а в категориях Статистические и Математические , соответственно (или в полном алфавитном перечне).

СЧЁТЕСЛИ - подсчитывает количество ячеек в диапазоне, удовлетворяющих заданному условию, а СУММЕСЛИ - суммирует значения ячеек, удовлетворяющих заданному условию. Функция СУММЕСЛИ используется в тех случаях, когда необходимо суммировать не весь диапазон, а только ячейки, отвечающие некоторым условиям (критериям).

Синтаксис:

СЧЁТЕСЛИ (диапазон; критерий)

диапазон - диапазон, в котором нужно подсчитать ячейки.

критерий - критерий (условие) в форме числа, выражения или текста, который определяет, какие ячейки надо подсчитывать.

Функция СЧЁТЕСЛИ работает следующим образом: вычисляется количество ячеек диапазона, значение которых удовлетворяют условию (критерию) .

В задаче, рассмотренной в примере 10 необходимо определить количество студентов, у которых средний балл >=4.5.

Тогда в ячейку С15 необходимо ввести формулу: =СЧЁТЕСЛИ(B11:B13;">=4,5"). Результат приведен на рис. 40

Синтаксис:

СУММЕСЛИ (диапазон; критерий; диапазон_суммирования)

диапазон - диапазон ячеек проверяемых на критерий (условие).

критерий - критерий (условие) в форме числа, выражения или текста, определяющего суммируемые ячейки.

диапазон_суммирования - фактические ячейки для суммирования.

Функция СУММЕСЛИ работает следующим образом: ячейки из «диапазон_суммирования » суммируются, только если соответствующие им ячейки в аргументе «диапазон » удовлетворяют условию (критерию) . В тех случаях, когда диапазон вычисляемых ячеек (где проверяется условие) и диапазон фактических ячеек для суммирования совпадают, аргумент «диапазон_суммирования» можно не указывать.

В таблице на рис. 41 приведены объемы партий товара, полученные магазином. Необходимо просуммировать только объемы тех партий, значения которых превышают 20. Решение на рис. 42

Функция ЕСЛИ позволяет выполнять логические сравнения значений и ожидаемых результатов. Она проверяет условие и в зависимости от его истинности возвращает результат.

    ЕСЛИ(это истинно, то сделать это, в противном случае сделать что-то еще)

Поэтому у функции ЕСЛИ возможны два результата. Первый результат возвращается в случае, если сравнение истинно, второй - если сравнение ложно.

Операторы ЕСЛИ чрезвычайно надежны и являются неотъемлемой частью многих моделей электронных таблиц. Но они же часто становятся причиной многих проблем с электронными таблицами. В идеале оператор ЕСЛИ должен применяться для минимума условий (например, "Женский"/"Мужской", "Да"/"Нет"/"Возможно"), но иногда сценарии настолько сложны, что для их оценки требуется использовать вместе больше 3 вложенных* функций ЕСЛИ.

* "Вложенность" означает объединение нескольких функций в одной формуле.

Функция ЕСЛИ, одна из логических функций , служит для возвращения разных значений в зависимости от того, соблюдается ли условие.

Синтаксис

ЕСЛИ(лог_выражение; значение_если_истина; [значение_если_ложь])

Например:

    ЕСЛИ(A2>B2;"Превышение бюджета";"ОК")

    ЕСЛИ(A2=B2;B4-A4;"")

Примечания

Excel позволяет использовать до 64 вложенных функций ЕСЛИ, но это вовсе не означает, что так и надо делать. Почему?

    Нужно очень крепко подумать, чтобы выстроить последовательность из множества операторов ЕСЛИ и обеспечить их правильную отработку по каждому условию на протяжении всей цепочки. Если при вложении вы допустите в формуле малейшую неточность, она может сработать в 75 % случаев, но вернуть непредвиденные результаты в остальных 25 %. К сожалению, шансов отыскать эти 25 % немного.

    Работа с множественными операторами ЕСЛИ может оказаться чрезвычайно трудоемкой, особенно если вы вернетесь к ним через какое-то время и попробуете разобраться, что пытались сделать вы или, и того хуже, кто-то другой.

Если вы видите, что ваш оператор ЕСЛИ все разрастается, устремляясь в бесконечность, значит вам пора отложить мышь и пересмотреть свою стратегию.

Давайте посмотрим, как правильно создавать операторы с несколькими вложенными функциями ЕСЛИ и как понять, когда пора переходить к другим средствам из арсенала Excel.

Примеры

Ниже приведен пример довольно типичного вложенного оператора ЕСЛИ, предназначенного для преобразования тестовых баллов учащихся в их буквенный эквивалент.

    ЕСЛИ(D2>89;"A";ЕСЛИ(D2>79;"B";ЕСЛИ(D2>69;"C";ЕСЛИ(D2>59;"D";"F"))))

    Этот сложный оператор с вложенными функциями ЕСЛИ следует простой логике:

    Если тестовых баллов (в ячейке D2) больше 89, учащийся получает оценку A.

    Если тестовых баллов больше 79, учащийся получает оценку B.

    Если тестовых баллов больше 69, учащийся получает оценку C.

    Если тестовых баллов больше 59, учащийся получает оценку D.

    В противном случае учащийся получает оценку F.

Этот частный пример относительно безопасен, поскольку взаимосвязь между тестовыми баллами и буквенными оценками вряд ли будет меняться, так что дополнительных изменений не потребуется. Но что если вам потребуется разделить оценки на A+, A и A– (и т. д.)? Теперь ваши четыре условных оператора ЕСЛИ нужно переписать с учетом 12 условий! Вот так будет выглядеть ваша формула:

    ЕСЛИ(B2>97;"A+";ЕСЛИ(B2>93;"A";ЕСЛИ(B2>89;"A-";ЕСЛИ(B2>87;"B+";ЕСЛИ(B2>83;"B";ЕСЛИ(B2>79;"B-"; ЕСЛИ(B2>77;"C+";ЕСЛИ(B2>73;"C";ЕСЛИ(B2>69;"C-";ЕСЛИ(B2>57;"D+";ЕСЛИ(B2>53;"D";ЕСЛИ(B2>49;"D-";"F"))))))))))))

Она по-прежнему точна и будет правильно работать, но вы потратите много времени, чтобы написать ее, а потом протестировать. Еще одна очевидная проблема состоит в том, что вам придется вручную вводить баллы и эквивалентные буквенные оценки. Каковы шансы, что вы не ошибетесь? А теперь представьте, как вы пытаетесь сделать это 64 раза для более сложных условий! Конечно, это возможно. Но неужели вам хочется потратить столько сил без всякой уверенности в отсутствии ошибок, которые потом будет трудно обнаружить?

Совет: Для каждой функции в Excel обязательно указываются открывающая и закрывающая скобки (). При редактировании Excel попытается помочь вам понять, что куда идет, окрашивая разными цветами части формулы. Например, во время редактирования показанной выше формулы при перемещении курсора за каждую закрывающую скобку ")" тем же цветом будет окрашиваться соответствующая открывающая скобка. Это особенно удобно в сложных вложенных формулах, когда вы пытаетесь выяснить, достаточно ли в них парных скобок.

Дополнительные примеры

Ниже приведен распространенный пример расчета комиссионных за продажу в зависимости от уровней дохода.


    ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))

Эта формула означает: ЕСЛИ(ячейка C9 больше 15 000, то вернуть 20 %, ЕСЛИ(ячейка C9 больше 12 500, то вернуть 17,5 % и т. д...

На первый взгляд все очень похоже на предыдущий пример с оценками, однако на примере этой формулы хорошо видно, насколько сложно бывает работать с большими операторами ЕСЛИ. Что вы будете делать, если ваша организация решит добавить новые уровни компенсаций или изменить имеющиеся суммы или проценты? У вас появится очень много работы!

Совет: Чтобы сложные формулы было проще читать, вы можете вставить разрывы строк в строке формул. Просто нажмите клавиши ALT+ВВОД перед текстом, который хотите перенести на другую строку.

Перед вами пример сценария для расчета комиссионных с неправильной логикой:


Видите, что происходит? Посмотрите порядок сравнения доходов в предыдущем примере. А как все идет в этом? Именно! Сравнение идет снизу вверх (от 5 000 до 15 000 ₽), а не наоборот. Ну и что в этом такого? Это важно, потому что формула не может пройти первую оценку для любого значения, превышающего 5 000 ₽. Скажем, ваш доход составил 12 500 ₽ - оператор ЕСЛИ вернет 10 %, потому что это больше 5 000 ₽, и на этом остановится. Это может быть очень проблематично, поскольку ошибки такого типа часто остаются незамеченными, пока не оказывают негативного влияния. Так что же вам делать теперь, когда вы знаете, какие трудности могут ожидать вас при использовании вложенных операторов ЕСЛИ? В большинстве случаев вместо сложной формулы с функциями ЕСЛИ можно использовать функцию ВПР. При использовании функции ВПР вам для начала нужно создать ссылочную таблицу:


    ВПР(C2;C5:D17;2;ИСТИНА)

В этой формуле предлагается найти значение ячейки C2 в диапазоне C5:C17. Если значение найдено, возвращается соответствующее значение из той же строки в столбце D.

    ВПР(B9;B2:C6;2;ИСТИНА)

Эта формула ищет значение ячейки B9 в диапазоне B2:B22. Если значение найдено, возвращается соответствующее значение из той же строки в столбце C.

Примечание: В обеих функциях ВПР в конце формулы используется аргумент ИСТИНА, который означает, что мы хотим найти близкое совпадение. Иначе говоря, будут сопоставляться точные значения в таблице подстановки, а также все значения, попадающие между ними. В этом случае таблицы подстановки нужно сортировать по возрастанию, от меньшего к большему.

Функция ВПР подробно рассматривается , но очевидно, что она значительно проще, чем сложный 12-уровневый вложенный оператор ЕСЛИ. Есть и другие, менее очевидные, преимущества:

    Таблицы ссылок функции ВПР открыты и их легко увидеть.

    Значения в таблицах просто обновлять, и вам не потребуется трогать формулу, если условия изменятся.

    Если вы не хотите, чтобы люди видели вашу таблицу ссылок или вмешивались в нее, просто поместите ее на другой лист.

Вы знали?

Теперь есть функция УСЛОВИЯ , которая может заменить несколько вложенных операторов ЕСЛИ. Так, в нашем первом примере оценок с 4 вложенными функциями ЕСЛИ:

    ЕСЛИ(D2>89;"A";ЕСЛИ(D2>79;"B";ЕСЛИ(D2>69;"C";ЕСЛИ(D2>59;"D";"F"))))

можно сделать все гораздо проще с помощью одной функции ЕСЛИМН:

    ЕСЛИМН(D2>89;"A";D2>79;"B";D2>69;"C";D2>59;"D";ИСТИНА;"F")

Функция ЕСЛИМН - просто находка! Благодаря ей вам больше не нужно переживать обо всех этих операторах ЕСЛИ и скобках.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community , попросить помощи в сообществе