Условиях 1 если. Используем функцию «Если» в Excel

Сегодня мы рассмотрим функцию ЕСЛИ .

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

Функция ЕСЛИ проверяет, выполняется ли условие, и возвращает одно значение, если оно выполняется, и другое значение, если нет.

Синтаксис функции ЕСЛИ очень простой:

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

лог_выражение – это любое значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ.

Что это значит? Выражение при вычислении дает значение ИСТИНА если это выражение верно.

В этой части необходимо проверить на соответствие выражения.

Например:

ЕСЛИ(А1=10 ; [значение_если_истина]; [значение_если_ложь]) - если А1 равно 10, то выражение А1=10 даст значение ИСТИНА, а если не равно 10, то ЛОЖЬ

Другой пример

ЕСЛИ(А1>30 ; [значение_если_истина]; [значение_если_ложь]) - если в ячейки А1 число больше 30, то А1>30 вернет ИСТИНА, а если меньше, то ЛОЖЬ

Еще пример

ЕСЛИ(С1=”Да” ; [значение_если_истина]; [значение_если_ложь]) - если в ячейки C1 содержится слово “Да” то выражение вернет значение ИСТИНА, а если нет, то С1=”Да” вернет ЛОЖЬ

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

значение_если_истина , значение_если_ложь – как видно из их названия, это то что необходимо сделать в зависимости от того, что вернул лог выражения : ИСТИНА и ЛОЖЬ

Пример использования функции ЕСЛИ в Excel

Рассмотрим использование функции ЕСЛИ на практическом примере. У нас есть таблица заказов, которую мы использовали при рассмотрении работы . Нам необходимо заполнить столбец по заказам Ведер (ошибочно на картинке указано «Заказы Cтолов»), то есть необходимо выбрать только заказы с Ведрами. Это можно сделать различными способами, но мы с вами будет использовать функцию ЕСЛИ, чтобы показать ее работу на примере. (см.рисунок)

Для решения поставленной задачи напишем формулу с использованием функции ЕСЛИ

ЕСЛИ(A3="Ведро";D3;"-")

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

Итак, первый аргумент (лог выражения ) A3="Ведро" проверяет содержится ли в ячейке А3 слово «Ведро», если содержится, то выполняется второй аргумент функции ЕСЛИ (значение_если_истина ), в нашем случае это D3 (т.е стоимость заказа), если в ячейка А3 не равна слову «Ведро», то выполняется третий аргумент функции ЕСЛИ (значение_если_ложь ), в нашем случае это «-» (т.е будет написано тире).

Таким образом, в ячейки E3 появится значение D3, т.е число 240.

Основу любого логического выражения составляют две величины: истина (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)

Функция ЕСЛИ - это одна из самых популярных в Excel функций. В англоязычном Excel, а также в Google Sheets, LibreOffice, OpenOffice, эта функция называется IF. ЕСЛИ (IF) относится к логическим функциям.

Уровень сложности по шкале BRP ADVICE - 2 из 7 . Каждая вложенная ЕСЛИ (IF) увеличивает сложность формулы вдвое.

ЕСЛИ (IF) позволяет построить дерево решений, то есть при выполнении условия выполнять одно действие, а при невыполнении - другое. При этом условие должно быть вопросом, имеющим варианты ответа «да / нет» или «верно / неверно» (в терминах Excel, Google Sheets, LibreOffice, OpenOffice это «ИСТИНА / ЛОЖЬ» («TRUE / FALSE»).

Чтобы разобраться c функцией ЕСЛИ (IF), сначала надо разобраться с тем, что такое логические функции.

Что такое логические функции

В Excel, Google Sheets, LibreOffice, OpenOffice и других табличных документах работа логических функций основана на существовании логических параметров. Логических параметров два: первый - ИСТИНА (TRUE), второй - ЛОЖЬ (FALSE).

На основе использования этих логических параметров можно построить дерево решений. В простейшем варианте этого дерева будет задан вопрос, ответом на который может быть ИСТИНА (TRUE) или ЛОЖЬ (FALSE), и дано указание, что делать в каждом из этих двух случаев. Схематически такое дерево решений изображено на рисунке ниже.

Рисунок. Простейшее дерево решений

Логические функции позволяют либо построить такое дерево решений, либо задавать вопрос и получать логический параметр. К первым относятся, например, ЕСЛИ (IF), ЕСЛИОШИБКА (IFERROR). Ко вторым - ЕЧИСЛО (ISNUMBER), И (AND), ИЛИ (OR).

Excel, Google Sheets, LibreOffice, OpenOffice и большинство других программных продуктов позволяет использовать логические параметры ИСТИНА (TRUE) и ЛОЖЬ (FALSE) при выполнении математических операций. Чаще всего, ИСТИНА (TRUE) принимает значение 1, ЛОЖЬ (FALSE) принимает значение 0. Хотя иногда ИСТИНА (TRUE) и ЛОЖЬ (FALSE) принимают другие значения, например, при программировании в VBA ИСТИНА (TRUE) - это -1, а не 1.

Кстати, логические параметры еще называют булевыми в честь английского математика и логика Джорджа Буля.

Функция ЕСЛИ (IF)

Итак, функция ЕСЛИ (IF) позволяет построить дерево решений. У этого дерева решений есть один вопрос на входе и два варианта действий. Вопрос обязательно имеет два варианта ответа: да / нет, верно / неверно или в терминах логических параметров ИСТИНА (TRUE) / ЛОЖЬ (FALSE).

Вопрос и два варианта действий - это и есть три аргумента функции ЕСЛИ (IF).

Первый аргумент функции ЕСЛИ (IF) - логический вопрос. В Excel он называется «лог_выражение». Excel, Google Sheets, LibreOffice, OpenOffice автоматически находят ответ на этот вопрос, и этот ответ должен принять значение ИСТИНА (TRUE) / ЛОЖЬ (FALSE). Что же может дать такой ответ? Самые простые варианты - это классические равенства и неравенства. Например, выражение 12=12 вернет логический параметр ИСТИНА (TRUE), а неравенство 12>40 вернет логический параметр ЛОЖЬ (FALSE).

В логическом вопросе можно использовать равенства (левая и правая часть сравниваются при помощи знака «=»), неравенства (больше - «>», меньше - «<», больше или равно - «>=», меньше или равно «<=»), а также просто не равно - «<>».

Более сложные логические вопросы можно задать с помощью вложенных функций. В результате вычисления таких вложенных функций должен получиться тот самый логический параметр ИСТИНА (TRUE) или ЛОЖЬ (FALSE). К таким функциям относятся, например, ЕЧИСЛО (ISNUMBER), ЕТЕКСТ (ISTEXT), ЕНД (ISNA), И (AND), ИЛИ (OR), в сложных случаях - еще одна ЕСЛИ (IF).

Второй и третий аргумент - это функция ЕСЛИ (IF) должна сделать, когда ответ на вопрос ИСТИНА (TRUE), а когда ЛОЖЬ (FALSE). Функция ЕСЛИ (IF) вычисляет либо только второй аргумент (если ИСТИНА (TRUE)), либо только третий аргумент (если ЛОЖЬ (FALSE)).

Рассмотрим примеры применения функции ЕСЛИ (IF) с одним или несколькими условиями.

Применение ЕСЛИ (IF) с одним условием

Файл-пример №1 вы можете скачать .

Предположим, в компании установлен план по продажам: каждый менеджер должен продать не менее чем на 1 миллион рублей в месяц. Оклад менеджера по продажам составляет 20 тысяч рублей. При выполнении плана менеджер получает оклад и премию 5% от фактического объема продаж. При невыполнении плана продаж - только оклад.

В конце каждого месяца формируется таблица, содержащая информацию о продажах каждого менеджера. Эта таблица может выглядеть, например, как на рисунке ниже.

Рисунок. Продажи в разрезе менеджеров по продажам за отчетный месяц

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

Рисунок. Отчет по результатам работы менеджеров по продажам

Для того чтобы автоматически заполнять столбец «Выполнение плана» и «Зарплата за месяц, руб.» (столбцы E и F соответственно), можно использовать функцию ЕСЛИ (IF).

Пример 1.1 - подстановка текста при помощи ЕСЛИ (IF)

.

В столбце «Выполнение плана» в ячейке E4 используем вот такую формулу:

ЕСЛИ(D4>=1000000;"Молодец!";"План не выполнен:(")

IF(D4>=1000000;"Молодец!";"План не выполнен:(") .

Кстати, в некоторых версиях Excel, вместо ";" должна использоваться ",".

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

Что значат все аргументы ЕСЛИ (IF)?

1. Лог_выражение: D4>=1000000. В нашем примере логический вопрос - это сравнение фактического результата и плана продаж. D4 - это ссылка на ячейку с фактическими продажами этого менеджера. Excel, Google Sheets, LibreOffice, OpenOffice подставляют вместо D4 значение из этой ячейки и проверяют, верно ли указанное неравенство. В результате проверки в формуле получается промежуточный результат, он используется для выбора нужной ветки в дереве решений.

2. Значение_если_истина. На наших схемах это левая ветка дерева решений. В текущем примере значение аргумента - "Молодец!". Этот аргумент показывает, что должна сделать функция ЕСЛИ (IF), когда в результате вычисления первого аргумента получается ИСТИНА (TRUE). В текущем примере необходимо просто написать текст «Молодец!».

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

3. Значение_если_ложь. На наших схемах это правая ветка дерева решений. В текущем примере значение аргумента - "План не выполнен:(". Этот аргумент показывает, что должна сделать функция ЕСЛИ (IF), когда в результате вычисления первого аргумента получается ЛОЖЬ (FALSE). В текущем примере необходимо просто написать текст «План не выполнен:(».

Здесь мы также указали текст в кавычках, потому что, если не заключать текст внутри формулы в кавычки, возникнет ошибка #ИМЯ? (#NAME?). Исключение - только названия функций и именованных диапазонов.

Во-первых, функция ЕСЛИ (IF) отвечает на логический вопрос (вычисляет первый аргумент). Во-вторых, идет к соответствующей ветке дерева решений. По Александрову П.Ф. получается так:

1. D4>=1000000, следовательно проверяем 1000329>

2. Идем в аргумент Значение_если_истина. Нужно просто подставить текст «Молодец!». Указываем текст в ячейке. Конец расчетов.

Рисунок. Как работает функция ЕСЛИ (IF), когда логическое выражение возвращает ИСТИНА (TRUE)

1. D5>=1000000, следовательно проверяем 848880>

2. Идем в аргумент Значение_если_ложь. Нужно просто подставить текст «План не выполнен:(». Указываем текст в ячейке. Конец расчетов.

Схематически расчеты выглядят, как на рисунке ниже.

Рисунок. Как работает функция ЕСЛИ (IF), когда логическое выражение возвращает ЛОЖЬ (FALSE)

Пример 1.2 - вычисление разных формул при помощи ЕСЛИ (IF)

Файл-пример №1 вы можете скачать .

ЕСЛИ(D4>=1000000;20000+D4*5/100;20000)

или для англоязычного Excel, Google Sheets, LibreOffice, OpenOffice:

IF(D4>=1000000;20000+D4*5/100;20000) .

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

Что именно делает функция ЕСЛИ (IF) в этом примере?

Функция ЕСЛИ (IF) отвечает на логический вопрос (вычисляет первый аргумент) и переходит к соответствующей ветке дерева решений. По Александрову П.Ф. получается так:

1. D4>=1000000, следовательно проверяем 1000329>=1000000, выражение верно, значит логический параметр - это ИСТИНА (TRUE).

2. Идем в аргумент Значение_если_истина. Нужно вычислить 20000+D4*5/100 (то есть оклад 20 тысяч и та самая премия 5% от продаж). Получаем 70016, указываем это значение в ячейке. Конец расчетов.

Аргумент Значение_если_ложь в этом случае функция ЕСЛИ (IF) игнорирует.

По Ильину М.А. получается так:

1. D5>=1000000, следовательно проверяем 848880>=1000000, выражение не верно, значит логический параметр - ЛОЖЬ (FALSE).

2. Идем в аргумент Значение_если_ложь. Нужно просто поставить 20000. Указываем число в ячейке. Конец расчетов.

Аргумент Значение_если_истина в этом случае функция ЕСЛИ (IF) игнорирует.

Как всегда, наши упражнения работают в Excel 2007-2013, а расширенный функционал можно использовать в Excel 2010 и 2013. С его помощью можно начать любое упражнение с начала всего одной кнопкой "Начать заново" на вкладке BRP ADVICE, появляющейся в Excel при открытии наших упражнений. Только не забудьте включить макросы.

Применение ЕСЛИ (IF) с несколькими условиями

Пример 2 - разные условия в логическом выражении

Файл-пример №2 вы можете скачать .

В прошлом примере и у менеджеров, и у старших менеджеров был одинаковый план продаж на месяц. Усложним задачу: установим повышенный план старшим менеджерам - 1 миллион 200 тысяч в месяц. Отчет тогда будет выглядеть, как на рисунке ниже.

В этом случае в столбце «Выполнение плана» в ячейке E4 используем вот такую формулу:

ЕСЛИ(ЕСЛИ(C4="Старший менеджер";D4>=1200000;D4>=1000000);"Молодец!";"План не выполнен:(")

или для англоязычного Excel, Google Sheets, LibreOffice, OpenOffice:

IF(IF(C4="Старший менеджер";D4>=1200000;D4>=1000000);"Молодец!";"План не выполнен:(") .

Что именно делает функция ЕСЛИ (IF) в этом примере?

По Александрову П.Ф. получается так:

2. Вложенная функция ЕСЛИ (IF) проверяет логическое выражение: должность менеджера старший менеджер или нет. Александров П.Ф. - это не старший менеджер. Поэтому логическое выражение во вложенной ЕСЛИ (IF) возвращает ЛОЖЬ (FALSE).

3. Вложенная функция ЕСЛИ (IF) переходит к аргументу Значение_если_ложь и сравнивает фактические продажи с планом менеджера по продажам. 1 000 329 больше 1 000 000, поэтому вложенная ЕСЛИ (IF) возвращает логический параметр ИСТИНА (TRUE).

По Ильину М.А. получается так:

1. Функция ЕСЛИ (IF) начинает расчет с логического выражения и видит там вложенную функцию ЕСЛИ (IF). Excel, Google Sheets, LibreOffice, OpenOffice сначала считает вложенную функцию.

2. Вложенная функция ЕСЛИ (IF) проверяет логическое выражение: должность менеджера старший менеджер или нет. Ильин М.А. - это не старший менеджер. Поэтому логическое выражение во вложенной ЕСЛИ (IF) возвращает ЛОЖЬ (FALSE).

3. Вложенная функция ЕСЛИ (IF) переходит к аргументу Значение_если_ложь и сравнивает фактические продажи с планом менеджера по продажам. 848 880 меньше 1 000 000, поэтому вложенная ЕСЛИ (IF) возвращает логический параметр ЛОЖЬ (FALSE).

Посмотрите построенное дерево решений на схеме ниже.

Рисунок. Дерево решений для функции ЕСЛИ (IF) с несколькими условиями

По Незенецеву А.А. получается так:

1. Функция ЕСЛИ (IF) начинает расчет с логического выражения и видит там вложенную функцию ЕСЛИ (IF). Excel, Google Sheets, LibreOffice, OpenOffice сначала считает вложенную функцию.

2. Вложенная функция ЕСЛИ (IF) проверяет логическое выражение: должность менеджера старший менеджер или нет. Незенецев А.А. - это старший менеджер. Поэтому логическое выражение во вложенной ЕСЛИ (IF) возвращает ИСТИНА (TRUE).

3. Вложенная функция ЕСЛИ (IF) переходит к аргументу Значение_если_истина и сравнивает фактические продажи с планом старшего менеджера по продажам. 1 204 346 больше 1 200 000, поэтому вложенная ЕСЛИ (IF) возвращает логический параметр ИСТИНА (TRUE).

4. Результат вычисления вложенной функции ЕСЛИ (IF) передается в основную функцию. Основная функция ЕСЛИ (IF) видит логический параметр ИСТИНА (TRUE) и переходит к своему (а не к вложенному) аргументу Значение_если_истина. Этот аргумент - просто текст «Молодец!».

Формула с несколькими условиями, то есть с вложенными функциями ЕСЛИ (IF), возвращает в ячейку текст «Молодец!».

Посмотрите построенное дерево решений на схеме ниже.

Рисунок. Дерево решений для функции ЕСЛИ (IF) с несколькими условиями

По Соколовой Н.И. получается так:

1. Функция ЕСЛИ (IF) начинает расчет с логического выражения и видит там вложенную функцию ЕСЛИ (IF). Excel, Google Sheets, LibreOffice, OpenOffice сначала считает вложенную функцию.

2. Вложенная функция ЕСЛИ (IF) проверяет логическое выражение: должность менеджера старший менеджер или нет. Соколова Н.И. - это старший менеджер. Поэтому логическое выражение во вложенной ЕСЛИ (IF) возвращает ИСТИНА (TRUE).

3. Вложенная функция ЕСЛИ (IF) переходит к аргументу Значение_если_истина и сравнивает фактические продажи с планом старшего менеджера по продажам. 1 046 625 меньше 1 200 000, поэтому вложенная ЕСЛИ (IF) возвращает логический параметр ЛОЖЬ (FALSE).

4. Результат вычисления вложенной функции ЕСЛИ (IF) передается в основную функцию. Основная функция ЕСЛИ (IF) видит логический параметр ЛОЖЬ (FALSE) и переходит к своему (а не к вложенному) аргументу Значение_если_ложь. Этот аргумент - просто текст «План не выполнен:(».

Формула с несколькими условиями, то есть с вложенными функциями ЕСЛИ (IF), возвращает в ячейку текст «План не выполнен:(».

Посмотрите построенное дерево решений на схеме ниже.

Рисунок. Дерево решений для функции ЕСЛИ (IF) с несколькими условиями

Формула для расчета заработной платы в примере 3

В столбце «Зарплата за месяц, руб.» в ячейке F4 используем вот такую формулу:

ЕСЛИ(ЕСЛИ(C4="Старший менеджер";D4>=1200000;D4>=1000000);20000+D4*5/100;20000)

или для англоязычного Excel, Google Sheets, LibreOffice, OpenOffice:

IF(IF(C4="Старший менеджер";D4>=1200000;D4>=1000000);20000+D4*5/100;20000) .

Не забудьте, в некоторых версиях Excel, вместо ";" должна использоваться ",".

В этом случае функция ЕСЛИ (IF) работает точно так же, как и в ячейке E4.

Пример 4 - разные условия и в логическом выражении, и в ветках дерева решений

Файл-пример №3 вы можете скачать .

Итак, у нас есть менеджеры, есть старшие менеджеры. У старших менеджеров план выше, чем у обычных менеджеров. Для того чтобы такая модель работала, часто необходимо дополнительное стимулирование для старших менеджеров. Например, премия старшего менеджера повышается до 6%. То есть у нас сразу несколько условий:

1. Премия выплачивается только если выполнен план.

2. Если должность старший менеджер, план - 1 миллион 200 тысяч, иначе - 1 миллион.

3. Если должность старший менеджер, премия - 6%, иначе - 5%.

В итоге получается отчет, как на рисунке ниже.

Рисунок. Отчет по результатам работы менеджеров и старших менеджеров

Как решить такую задачу при помощи функции ЕСЛИ (IF)?

В ячейке F4 можно написать такую формулу:

ЕСЛИ(C4="Старший менеджер";D4>=1200000;D4>=1000000);

20000+D4*ЕСЛИ(C4="Старший менеджер";6;5)/100;

или для англоязычного Excel, Google Sheets, LibreOffice, OpenOffice:

IF(C4="Старший менеджер";D4>=1200000;D4>=1000000);

20000+D4*IF(C4="Старший менеджер";6;5)/100;

Не забывайте, в некоторых версиях Excel, вместо ";" должна использоваться ",".

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

Рисунок. Пример дерева решений с несколькими условиями и в логическом выражении, и в других аргументах функции ЕСЛИ (IF)

Частые ошибки при работе с функцией ЕСЛИ (IF)

1. Для функции ЕСЛИ (IF) всегда должен быть указан первый аргумент - логическое выражение и второй аргумент - значение если истина. Третий аргумент необязательный. Пользователи часто забывают указать третий аргумент особенно при работе со сложными формулами, из-за этого в некоторых случаях вместо нужного результата в ячейке появляется логический параметр ЛОЖЬ (FALSE).

2. Сложность формулы очень быстро растет при использовании вложенных ЕСЛИ (IF). Из-за этого очень часто пользователи забывают закрыть скобки вложенных вычислений, не ставят разделитель аргументов («;» или «,»). В зависимости от ошибки формулу в ячейку либо не удается записать, либо она считается неправильно.

3. В сложных формулах с ЕСЛИ (IF) очень тяжело отслеживать правильность расчетов: каждая вложенная функция ЕСЛИ (IF) добавляет в ваше дерево решений один вопрос и минимум две ветки. В среднем человек в уме держит до 7 объектов, получается, что при трех вложенных ЕСЛИ (IF) в уме нужно держать 3 вопроса и 6 веток дерева решений. Контролируемость и надежность формулы стремительно снижается.

Как избежать этих ошибок при работе с функцией ЕСЛИ (IF)? Минимизируйте использование ЕСЛИ (IF) с другими функциями и особенно с вложенными ЕСЛИ (IF). Лучше делайте промежуточные расчеты в соседних ячейках.

Совет: работа со сложными формулами

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

1. Определите конечную цель ваших расчетов: какой результат вы должны получить в итоге.

2. Определите функцию, которая позволяет это сделать.

3. Начинайте создание формулы с этой функции, укажите ее и переходите к работе с аргументами.

5. Если вам необходимо проделать промежуточные вычисления, то определяете конечную цель этих вычислений, функцию и так далее. Обычно, задача промежуточных вычислений - это получить аргумент для основной функции. Помните об этом, так как иногда нужно получить аргумент определенного типа (именно текст, именно число, именно логический параметр или что-то иное).

6. Всегда следите за скобками: как только вы закончили описание функции, закрывайте скобки.

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

Чем дополнить и заменить функцию ЕСЛИ (IF)

Вместо констант в формуле можно использовать именованные диапазоны.

Решение задачи с несколькими условиями можно значительно упростить с помощью использования вложенных функций И (AND), ИЛИ (OR).

Функция ЕСЛИ (IF) иногда может быть заменена на функцию ВПР (VLOOKUP) , ГПР (HLOOKUP), ПРОСМОТР(LOOKUP), ЕСЛИОШИБКА (IFERROR), СУММЕСЛИ (SUMIF) или СЧЁТЕСЛИ (COUNTIF).

Файл-пример №1 "Применение функции ЕСЛИ (IF) с одним условием" вы можете скачать .

Файл-пример №2 "Применение функции ЕСЛИ (IF) с несколькими условиями" .

Остались вопросы? Пишите нам в форму обратной связи и записывайтесь на интенсив по Excel или курс по функциям Excel .

Формат записи: =ЕСЛИ (условие; выражение В; выражение С)

Эта запись означает:

1) если условие выполняется, то происходит действие, определенное в выражении В;

2) если условие не выполняется, то происходит действие, оп­ределенное в выражении С.

Выражениями В и С могут быть числовое выражение, функция, ссылка на клетку таблицы или ее имя, заключенный в кавычки текст.

Пример. Пусть у ряда работников имеется задолженность по потребительскому кредиту, которая отражена в диапазоне СЗ:С7 (рис. 9.2). Нужно найти в списке таких работников и удержать с них в счет погашения кредита 10 % от начисленной им сум­мы.

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потреби-тельский Жилищ-ный
Иванов =ЕСЛИ(С3>0;В3*0,1;””)
Петров =ЕСЛИ(С4>0;В4*0,1;””)
Кузьмин =ЕСЛИ(С5>0;В5*0,1;””)
Сухов =ЕСЛИ(С6>0;В6*0,1;””)
Николаев =ЕСЛИ(С7>0;В7*0,1;””)

Рис. 9.2. Пример простой логической функции ЕСЛИ

Для нашего примера логическая функция будет иметь следующий вид:

=ЕСЛИ (С3>0; ВЗ *0,1; " ").

Данная логическая функция означает следующее: если задол­женность по потребительскому кредиту больше нуля, то необхо­димо удержать 10 % с начисленной суммы, в противном случае необходимо вывести пробелы.

По диапазону СЗ:С7 отыскиваются работники, у которых есть задолженность по потребительскому кредиту, а в диапазоне ЕЗ:Е7 указывается размер удержанной суммы. В случаях, когда задол­женности по потребительскому кредиту нет, напротив фамилий соответствующих работников в диапазоне ЕЗ:Е7 выводятся пробелы.

В результате в диапазоне ЕЗ:Е7 (рис. 9.3) получим размер удержанной суммы с работников, у которых имеются задолжен­ности по потребительскому кредиту.

Рис. 9 3. Результат выполнения простой логической функции ЕСЛИ

ЛОГИЧЕСКАЯ ФУНКЦИЯ И

Логическая функция И обеспечивает проверку одновременного выполнения связанных этой функцией условий. При выполнении всех условий функция принимает значение ИСТИНА, а если хотя бы одно из условий не выполняется, функция принимает значение ЛОЖЬ.

Формат записи: И (условие #1; условие #2)

Результат является истинным, если два условия истинны. В противном случае результат ложен:

Функция И входит в состав функции ЕСЛИ , которая в этом случае имеет следующий формат:

=ЕСЛИ(И(усл.#1;усл.#2); выражение В; выражение С)

Пример . Найти работников, у которых одновременно име­ются задолженности по потребительскому кредиту и кредиту на жилищное строительство, и удержать от начисленной им суммы 20 % (рис. 9.4).

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит Жилищн.
Иванов =ЕСЛИ(И(С3>0;D3>0); В3*0,2;””)
Петров =ЕСЛИ(И(С4>0;D4>0); В4*0,2;””)
Кузьмин =ЕСЛИ(И(С5>0;D5>0); В5*0,2;””)
Сухов =ЕСЛИ(И(С6>0;D6>0); В6*0,2;””)
Николаев =ЕСЛИ(И(С7>0;D7>0); В7*0,2;””)

Рис. 9.4. Логическая функция И в сочетании с функцией ЕСЛИ

Для нашего примера логическая функция будет иметь следу­ющий вид:

=ЕСЛИ (И (C3>0;D3>0); В3*0,2; " ")

Данная логическая функция означает следующее: если одно­временно задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удер­жать 20 % с начисленной суммы, в противном случае необходимо вывести пробелы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7.

В столбцах С и D (рис. 9.5) будет найден только один работник, у которого есть задолженность по двум видам кредита. В столбце Е у него будет удержано 20 % от начисленной суммы. Напротив остальных работников в столбце Е будут выведены пробелы.

Рис.9.5. Результат выполнения логической функции И в сочетании с функцией ЕСЛИ

ЛОГИЧЕСКАЯ ФУНКЦИЯ ИЛИ

Логическая функция ИЛИ обеспечивает проверку выполнения хотя бы одного условия, из всех условий, связанных этой функцией. В этой ситуации функция принимает значение ИСТИНА, а если ни одно условие не выполняется, функция принимает значение ЛОЖЬ.

Данная функция истинна, если истинно хотя бы одно из двух входящих в нее условий. Формат записи: = ИЛИ (условие #1; условие #2)

Лишь в случае, когда оба условия ложны, функция ИЛИ также ложна:

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

=ЕСЛИ(ИЛИ(усл.#1;усл.#2); выражение В; выражение С)

Пример. Найти работников, у которых имеется задолжен­ность либо по потребительскому кредиту, либо по кредиту на жи­лищное строительство, либо по обоим видам кредита сразу, и удержать с них в счет погашения кредита 10 % от начисленной им сум­мы (рис. 9.6).

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит. Жилищн.
Иванов =ЕСЛИ(ИЛИ(С3>0;D3>0); В3*0,1;””)
Петров =ЕСЛИ(ИЛИ(С4>0;D4>0); В4*0,1;””)
Кузьмин =ЕСЛИ(ИЛИ(С5>0;D5>0); В5*0,1;””)
Сухов =ЕСЛИ(ИЛИ(С6>0;D6>0); В6*0,1;””)
Николаев =ЕСЛИ(ИЛИ(С7>0;D7>0); В7*0,1;””)

Рис. 9.6. Логическая функция ИЛИ в сочетании с функцией ЕСЛИ

Логическая функция в нашем примере будет иметь вид

=ЕСЛИ (ИЛИ (С3>0; D3>0); В3*0,1; " ")

Данная логическая функция означает следующее: если одно­временно или по отдельности задолженности по потребительско­му кредиту и кредиту на жилищное строительство больше нуля, то необходимо удержать 10 % с начисленной суммы, в противном случае необходимо вывести пробелы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7.

В столбцах С и D (рис. 9.7) будут найдены работники, у кото­рых есть задолженность хотя бы по одному виду кредита, и в столбце Е с них будет удержано 10 % от начисленной им суммы. Один работник не имеет задолженности по кредиту, тогда в столбце Е напротив его фамилии будут выведены пробелы.

Рис.9.7 . Результат выполнения логической функции ИЛИ
в сочетании с функцией ЕСЛИ

ВЛОЖЕННЫЕ ЛОГИЧЕСКИЕ ФУНКЦИИ ЕСЛИ

Формат записи:

=ЕСЛИ(усл.#1; выражение В; ЕСЛИ(yсл.#2; выражение С; ЕСЛИ (...)))

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

Пример. Найти работников, у которых имеются одновре­менно задолженности по обоим видам кредита, и удержать от на­численной им суммы 20 % в счет погашения кредитов (рис. 9.8). С остальных работников, имеющих задолженность по какому-ли­бо одному виду кредита, удержать 10 % от начисленной им суммы. Работникам, не имеющим задолженности по кредиту, проставить в графе «Удержано» – «б/к».

В нашем примере логическая функция будет иметь такой вид:

=ЕСЛИ (И (C3>0; D3 >0); В3*0,2; ЕСЛИ (И(C3=0; D3=0); "б/к"; В3*0,1))

Данная логическая функция означает следующее: если одно­временно задолженности по потребительскому кредиту и кредиту на жилищное строительство больше нуля, то необходимо удер­жать 20 % с начисленной суммы, если обе задолженности одновре­менно равны нулю, то необходимо вывести «б/к», в противном случае необходимо удержать 10 % от начисленной суммы.

Запишем ее в ячейку ЕЗ, а затем скопируем в ячейки Е4:Е7 (рис. 9.8).

В столбцах С и D (рис. 9.9) будут найдены работники, у кото­рых есть задолженности по двум видам кредита. С них будет удер­жано 20 % от начисленных им сумм. Напротив фамилии работни­ка, у которого нет задолженности по кредиту, в столбце Е будет выведено «б/к». Наконец, с остальных работников будет удержа­но 10 % от начисленных им сумм.

А В С D Е
Ф.И.О. Начислено, тыс. руб. Задолженность по кредитам Удержано, тыс. руб.
Потребит. Жилищн.
Иванов =ЕСЛИ(И(С3>0;D3>0); В3*0,2; ЕСЛИ(И(С3=0;D3=0); “б/к”); В3*0,1
Петров =ЕСЛИ(И(С4>0;D4>0); В4*0,2; ЕСЛИ(И(С4=0;D4=0); “б/к”); В4*0,1
Кузьмин =ЕСЛИ(И(С5>0;D5>0); В5*0,2; ЕСЛИ(И(С5=0;D5=0); “б/к”); В5*0,1
Сухов =ЕСЛИ(И(С6>0;D6>0); В6*0,2; ЕСЛИ(И(С6=0;D6=0); “б/к”); В6*0,1
Николаев =ЕСЛИ(И(С7>0;D7>0); В7*0,2; ЕСЛИ(И(С7=0;D7=0); “б/к”); В7*0,1

Рис.9.8. Вложенная логическая функция ЕСЛИ

Рис. 9.9 . Результат выполнения вложенной логической функции ЕСЛИ

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

Логическая функция ЕСЛИОШИБКА возвращает значение ЕСЛИ_ОШИБКА, если выражение ошибочно. В противном случае функция возвращает само выражение.



Полный синтаксис (нажмите, чтобы раскрыть)

Условный оператор "Если"

Описание:

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

Синтаксис:

Параметры:

Если Ключевое слово, которое начинает структуру оператора условного выполнения. <Логическое выражение> Логическое выражение . Тогда Операторы, следующие за Тогда выполняются, если результатом логического выражения является значение Истина . // Операторы Исполняемый оператор или последовательность таких операторов. ИначеЕсли Логическое выражение, следующее за ключевым словом ИначеЕсли , вычисляется только тогда, когда условия в Если и всех предшествующих ИначеЕсли оказались равны Ложь . Операторы, следующие за конструкцией ИначеЕсли - Тогда , выполняются, если результат логического выражения в данном ИначеЕсли равен Истина . Иначе Операторы, следующие за ключевым словом Иначе , выполняются, если результаты логических выражений в конструкции Если и всех предшествующих конструкциях ИначеЕсли оказались равны Ложь . КонецЕсли Ключевое слово, которое завершает структуру оператора условного выполнения.

Тернарный условный оператор

Описание:

Позволяет вычислить одно из двух заданных выражений в зависимости от результата вычисления логического выражения.

Синтаксис:

? (< Логическое выражение> , < Выражение 1 > , < Выражение 2 > )

Параметры:

Возвращаемое значение:

Результат вычисления одного из результирующих выражений.

&НаКлиенте Процедура ВыполнитьКод(Команда) /// Как составить оператор Если в 1с 8.3, 8.2 Если 1 > 0 Тогда // Истина // блок операторов Сообщить("Компьютер выполнит все команды из этого блока." ) ; Сообщить("Один больше нуля." ) ; КонецЕсли ; Если 1 < 0 Тогда // Ложь Сообщить("Один меньше нуля." ) ; Иначе Сообщить("Сработает именно эта ветка условного оператора (#А)." ) ; Сообщить("Один больше нуля." ) ; КонецЕсли ; Если 1 < 0 Тогда // Ложь Сообщить("Один меньше нуля." ) ; ИначеЕсли 1 = 0 Тогда // Ложь Сообщить("Один равен нулю." ) ; Иначе Сообщить("Сработает именно эта ветка условного оператора (#Б)." ) ; Сообщить("Один больше нуля." ) ; КонецЕсли ; /// Как составить тернарный оператор? в 1с 8.3, 8.2 Текст = ? (1 > 2 , "Один больше двух." , "Один не больше двух." ) ; Сообщить(Текст) ; // выведет "Один не больше двух." КонецПроцедуры /// Скачать и выполнить эти примеры на компьютере