Операторы ЕСЛИ и ЕСЛИОШИБКА
Общий синтаксис функции ЕСЛИ представляет собой конструкцию:
=ЕСЛИ(логическое_выражение;значение_если_истина;значение_если-ложь).
Оператор ЕСЛИ используется для построения сложных развернутых логических цепочек. Суть функции – в проверке внесенного в качестве логического выражения условия. Если условие выполняется, и оно истинно, то в качестве результата функции возвращается одно выражение, если же логическое выражение ложно, то в качестве результата функции возвращается другое условие.
Синтаксис оператора ЕСЛИОШИБКА имеет вид:
=ЕСЛИОШИБКА(значение;значение_если_ошибка).
Функция проверяет истинность логического выражения для первого аргумента, и если он соблюдается, то возвращает в качестве результата его значение. Если же выражение ложно, то в качестве результата выдается значение второго аргумента, указанное в функции.
Функция ЕСЛИОШИБКА
Предназначена для проверки возврата выражением ошибки. Если ошибка обнаружена, то она возвращает значение второго аргумента, иначе первого.
Функция принимает 2 аргумента, все они являются обязательными.
Синтаксис: =ЕСЛИОШИБКА(значение;значение_если_ошибка)
Пример использования функции:
В приведенном примере видно, что выражение в первом аргументе возвращает ошибку деления на ноль, но так как оно вложено в нашу функцию, то ошибка перехватывается и подменяется вторым аргументов, а именно строкой «Делить на ноль нельзя», которую мы ввели самостоятельно. Вместо данной строки могли бы быть другие функции, все зависит от поставленной перед Вами задачи.
Создание сложных формул с помощью встроенных логических функций Excel
Логические выражения в Excel используются для записи условий, в которых сравниваются числа, функции, формулы, текстовые или логические значения. Любое логическое выражение должно содержать, по крайней мере, один оператор сравнения, который определяет отношение между элементами логического выражения.
Ниже представлен список операторов сравнения Excel:
Больше или равно
Результатом логического выражения является логическое значение ИСТИНА (1) или логическое значение ЛОЖЬ (0).
Функция ЕСЛИ – это функция, которая позволяет вывести в ячейку одно значение, если заданное пользователем условие выполняется и другое – если условие не выполняется.
ЕСЛИ(лог_выраж.; знач._если_истина; знач._если_ложь)
Рассчитать стоимость товара с учетом того, что если количество превысило 5 шт., то магазин дает скидку 10%. Исходные данные приведены на рис. 26.
Для того чтобы рассчитать стоимость товара с учетом скидки необходимо:
Переместить курсор в ячейку D2. С помощью мастера функций выбрать из категории Логические функцию ЕСЛИ (рис. 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
Операторы И и ИЛИ
Синтаксис оператора И выглядит следующим образом:
=И(лог_значение1; лог_значение2; …), возможное количество используемых аргументов – от 1 до 255.
Оператор И используется в качестве элемента-связки для нескольких условий логического выражения
Важно, чтобы все аргументы оператора имели значение ИСТИНА (если в выражении их несколько), в противном случае вся логическая цепочка будет возвращать значение ЛОЖЬ
Синтаксис оператора ИЛИ:
=ИЛИ(лог_значение1; лог_значение2; …), возможное количество используемых аргументов – от 1 до 255.
В отличие от И, функция ИЛИ будет возвращать значение ИСТИНА даже в случае, когда хотя бы один из используемых аргументов ему соответствует, а все остальные – ложные.
Использование формул массива вместе с ВПР.
Здесь все гораздо сложнее. Вновь вернемся к нашим исходным данным и разместим списки товаров и цен на двух листах рабочей книги: «Прайс1» и «Прайс2».
Создадим из наименований товаров в каждой из таблиц именованный диапазон, как это показано на рисунке.
Назовем их соответственно «прайс_1» и «прайс_2». Так нам легче будет разбираться в формулах.
Результаты сравнения таблиц вынесем также на отдельный лист «Сравнение».
В ячейке A5 запишем формулу
=ЕСЛИОШИБКА(ЕСЛИОШИБКА(ИНДЕКС(прайс_1; ПОИСКПОЗ(0;СЧЁТЕСЛИ(A$4:$A4;прайс_1);0)); ИНДЕКС(прайс_2;ПОИСКПОЗ(0;СЧЁТЕСЛИ(A$4:$A4;прайс_2);0)));»»)
Поскольку это формула массива, то не забудьте завершить ее ввод комбинацией клавиш Ctrl+Shift+Enter.
В результате получим список уникальных (неповторяющихся) значений из всех имеющихся у нас наименований товаров.
Рассмотрим процесс пошагово. Формула последовательно берет значения из списка наименований. Затем при помощи функции СЧЕТЕСЛИ определяется количество совпадений с каждым из значений в ячейках, находящихся выше этого значения. Если результат СЧЕТЕСЛИ равен нулю, значит это наименование ранее не встречалось и можно его занести в список.
Функция ПОИСКПОЗ вычисляет номер позиции этого уникального значения и передает его в функцию ИНДЕКС, которая, в свою очередь, по номеру позиции извлекает значение из массива и записывает его в ячейку.
Поскольку это формула массива, то мы последовательно проходим по всему списку от начала до конца, повторяя все эти операции.
Если первая таблица закончилась, то возникает ошибка. ЕСЛИОШИБКА реагирует на это и начинает таким же образом перебирать значения второй таблицы. Когда и там возникает ошибка, то возвращается пустая строка “”.
Скопируйте эту формулу по столбцу вниз. Список уникальных значений готов.
Затем добавим еще два столбца, в которых при помощи функции ВПР запишем результат сравнения двух таблиц по каждому наименованию товара.
Не забудьте, что это тоже формула массива (Ctrl+Shift+Enter).
Можно для наглядности выделить несовпадения цветом, используя условное форматирование.
Напомним, что для этого надо использовать меню Главная – Условное форматирование – Правила выделения ячеек – Текст содержит…
Ну и если значение существует в таблице, то логично было бы его вывести в таблице сравнения.
Заменим в нашей формуле значение «Есть» на функцию ВПР:
В итоге наше формула преобразуется к виду:
Аналогично в С5 :
Напомним, что на листах Прайс1 и Прайс2 находятся наши сравниваемые таблицы.
Для сравнения двух таблиц, тем не менее вы можете выбрать любой из этих методов исходя из собственных предпочтений.
голоса
Рейтинг статьи
Функция ЕСЛИ в Excel
Функция имеет следующий синтаксис.
ЕСЛИ(лог_выражение; значение_если_истина; )
лог_выражение – это проверяемое условие. Например, A2 30) не выполняется и возвращается альтернативное значение, указанное в третьем поле. В этом вся суть функции ЕСЛИ. Протягивая расчет вниз, получаем результат по каждому товару.
Однако это был демонстрационный пример. Чаще формулу Эксель ЕСЛИ используют для более сложных проверок. Допустим, есть средненедельные продажи товаров и их остатки на текущий момент. Закупщику нужно сделать прогноз остатков через 2 недели. Для этого нужно от текущих запасов отнять удвоенные средненедельные продажи.
Пока все логично, но смущают минусы. Разве бывают отрицательные остатки? Нет, конечно. Запасы не могут быть ниже нуля. Чтобы прогноз был корректным, нужно отрицательные значения заменить нулями. Здесь отлично поможет формула ЕСЛИ. Она будет проверять полученное по прогнозу значение и если оно окажется меньше нуля, то принудительно выдаст ответ 0, в противном случае — результат расчета, т.е. некоторое положительное число. В общем, та же логика, только вместо значений используем формулу в качестве условия.
В прогнозе запасов больше нет отрицательных значений, что в целом очень неплохо.
Как правильно записать условие «если – то» в Excel?
Устанавливаем курсор в
ячейку G2 и
вводим знак “=”. Для Excel это означает, что сейчас будет введена формула. Поэтому
как только далее будет нажата буква “е”, мы получим предложение выбрать
функцию, начинающуюся этой буквы. Выбираем “ЕСЛИ”.
Далее все наши действия
также будут сопровождаться подсказками.
В качестве первого аргумента ЕСЛИ записываем: С2=”Запад”. Как и в других функциях Excel, адрес ячейки можно не вводить вручную, а просто кликнуть на ней мышкой. Затем ставим “;” и указываем второй аргумент.
Второй аргумент ЕСЛИ – это значение, которое примет ячейка G2, если записанное нами условие будет выполнено. Это будет слово “Местные”.
После этого снова через запятую
указываем значение третьего аргумента. Это значение примет ячейка G2, если условие не будет
выполнено: “Экспорт”. Не забываем закончить ввод формулы, закрыв скобку и затем
нажав “Enter”.
Наша формула выглядит следующим образом:
В английской версии формула IF будет выглядеть так:
=IF(C2=»Запад»,»Местные»,»Экспорт»)
То есть, если значение в ячейке С2 будет «Запад», то Excel возвратит в ячейку с формулой слово «Местные». А если условие не выполнено, то – «Экспорт».
Наша ячейка G2 приняла значение «Местные».
Теперь эту формулу можно скопировать во все остальные ячейки столбца G.
Общее определение и задачи
«ЕСЛИ» является стандартной функцией программы Microsoft Excel. В ее задачи входит проверка выполнения конкретного условия. Когда условие выполнено (истина), то в ячейку, где использована данная функция, возвращается одно значение, а если не выполнено (ложь) – другое.
Синтаксис этой функции выглядит следующим образом: .
Пример использования «ЕСЛИ»
Теперь давайте рассмотрим конкретные примеры, где используется формула с оператором «ЕСЛИ».
- Имеем таблицу заработной платы. Всем женщинам положена премия к 8 марту в 1000 рублей. В таблице есть колонка, где указан пол сотрудников. Таким образом, нам нужно вычислить женщин из предоставленного списка и в соответствующих строках колонки «Премия к 8 марта» вписать по «1000». В то же время, если пол не будет соответствовать женскому, значение таких строк должно соответствовать «0». Функция примет такой вид: . То есть когда результатом проверки будет «истина» (если окажется, что строку данных занимает женщина с параметром «жен.»), то выполнится первое условие — «1000», а если «ложь» (любое другое значение, кроме «жен.»), то соответственно, последнее — «0».
- Вписываем это выражение в самую верхнюю ячейку, где должен выводиться результат. Перед выражением ставим знак «=».
После этого нажимаем на клавишу Enter. Теперь, чтобы данная формула появилась и в нижних ячейках, просто наводим указатель в правый нижний угол заполненной ячейки, жмем на левую кнопку мышки и, не отпуская, проводим курсором до самого низа таблицы.
Так мы получили таблицу со столбцом, заполненным при помощи функции «ЕСЛИ».
Пример функции с несколькими условиями
В функцию «ЕСЛИ» можно также вводить несколько условий. В этой ситуации применяется вложение одного оператора «ЕСЛИ» в другой. При выполнении условия в ячейке отображается заданный результат, если же условие не выполнено, то выводимый результат зависит уже от второго оператора.
- Для примера возьмем все ту же таблицу с выплатами премии к 8 марта. Но на этот раз, согласно условиям, размер премии зависит от категории работника. Женщины, имеющие статус основного персонала, получают бонус по 1000 рублей, а вспомогательный персонал получает только 500 рублей. Естественно, что мужчинам этот вид выплат вообще не положен независимо от категории.
- Первым условием является то, что если сотрудник — мужчина, то величина получаемой премии равна нулю. Если же данное значение ложно, и сотрудник не мужчина (т.е. женщина), то начинается проверка второго условия. Если женщина относится к основному персоналу, в ячейку будет выводиться значение «1000», а в обратном случае – «500». В виде формулы это будет выглядеть следующим образом: .
- Вставляем это выражение в самую верхнюю ячейку столбца «Премия к 8 марта».
Как и в прошлый раз, «протягиваем» формулу вниз.
Пример с выполнением двух условий одновременно
В функции «ЕСЛИ» можно также использовать оператор «И», который позволяет считать истинной только выполнение двух или нескольких условий одновременно.
- Например, в нашей ситуации премия к 8 марта в размере 1000 рублей выдается только женщинам, которые являются основным персоналом, а мужчины и представительницы женского пола, числящиеся вспомогательным персоналом, не получают ничего. Таким образом, чтобы значение в ячейках колонки «Премия к 8 марта» было 1000, нужно соблюдение двух условий: пол – женский, категория персонала – основной персонал. Во всех остальных случаях значение в этих ячейках будет рано нулю. Это записывается следующей формулой: . Вставляем ее в ячейку.
Копируем значение формулы на ячейки, расположенные ниже, аналогично продемонстрированным выше способам.
Пример использования оператора «ИЛИ»
В функции «ЕСЛИ» также может использоваться оператор «ИЛИ». Он подразумевает, что значение является истинным, если выполнено хотя бы одно из нескольких условий.
- Итак, предположим, что премия к 8 марта в 1000 рублей положена только женщинам, которые входят в число основного персонала. В этом случае, если работник — мужчина или относится к вспомогательному персоналу, то величина его премии будет равна нулю, а иначе – 1000 рублей. В виде формулы это выглядит так: . Записываем ее в соответствующую ячейку таблицы.
«Протягиваем» результаты вниз.
Как видим, функция «ЕСЛИ» может оказаться для пользователя хорошим помощником при работе с данными в Microsoft Excel. Она позволяет отобразить результаты, соответствующие определенным условиям.
Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.
Как получить значение по модулю числа без использования функции ABS
Пример 3. Реализовать алгоритм определения значения модуля числа (абсолютную величину), то есть альтернативный вариант для функции ABS.
Для решения используем формулу массива:
=ЕСЛИ(НЕ(A3:A10 0).
A3:A10 – возвращаемое число (соответствующий элемент из диапазона), если условие выполняется;
A3:A10*(-1) – возвращаемое число, если условие не выполняется (то есть, исходное значение принадлежит к диапазону отрицательных чисел, для получения модуля производится умножение на -1).
Примечание: как правило, логические значения и сами функции (ИСТИНА(), ЛОЖЬ()) в выражениях явно не указываются, как это сделано в примерах 1 и 2. Например, во избежание промежуточных расчетов в Примере 2 можно было использовать формулу =ЕСЛИ(B3=2;0;B3), а так же =B32.
При этом Excel автоматически определяет результат вычислений выражения B32 или B3=2;0;B3 в аргументах функции ЕСЛИ (логическое сравнение) и на его основании выполняет соответствующее действие, предписанное вторым или третьим аргументами функции ЕСЛИ.
Производим вычисления по условию.
Чтобы выполнить действие только тогда, когда ячейка не пуста (содержит какие-то значения), вы можете использовать формулу Excel, основанную на функции ЕСЛИ.
В примере ниже столбец F содержит даты завершения закупок шоколада.
Поскольку даты для Excel — это числа, то наша задача состоит в том, чтобы проверить в ячейке наличие числа.
Формула в ячейке F3:
Как работает эта формула?
Функция СЧЕТЗ (английский вариант — COUNTA) подсчитывает количество значений (текстовых, числовых и логических) в диапазоне ячеек Excel. Если мы знаем количество значений в диапазоне, то легко можно составить условие. Если число значений равно числу ячеек Excel, то значит, пустых среди них нет и можно производить вычисление. Если такого равенства нет, значит есть хотя бы одна пустая ячейка, и вычислять нельзя.
Согласитесь, что нельзя назвать этот способ определения наличия пустых ячеек удобным. Ведь число строк в таблице может измениться, и нужно будет менять формулу: вместо цифры 7 ставить другое число.
Давайте рассмотрим и другие варианты. В ячейке F6 записана большая формула, которая должна проверить условие «если не пусто».
Функция ЕПУСТО (английский вариант — ISBLANK) проверяет, не ссылается ли она на пустую ячейку. Если это так, то возвращает ИСТИНА.
Функция ИЛИ (английский вариант — OR) позволяет объединить условия и указать, что нам достаточно того, чтобы хотя бы одна функция ЕПУСТО обнаружила пустую ячейку. В этом случае никаких вычислений не производим и функция ЕСЛИ возвращает пустую строку. А вот если не пусто – то производим вычисления.
Все достаточно просто, но перечислять кучу ссылок на ячейки не слишком удобно. К тому же, здесь, как и в предыдущем случае, формула не масштабируема: при изменении таблицы она нуждается в корректировке. Это не слишком удобно, да и забыть можно сделать это.
Рассмотрим теперь более универсальные решения.
В качестве аргумента условия в функции ЕСЛИ мы используем СЧИТАТЬПУСТОТЫ (английский вариант — COUNTBLANK). Она возвращает количество пустых ячеек, но любое число больше 0 Excel интерпретирует как ИСТИНА.
И, наконец, еще одна формула ЕСЛИ (IF) в Excel, которая проверит «если не пусто» и позволит производить расчет только при наличии непустых ячеек.
Функция ЕЧИСЛО (или ISNUMBER) возвращает ИСТИНА, если ссылается на число. Естественно, при ссылке на пустую ячейку возвратит ЛОЖЬ.
А теперь посмотрим, как это работает. Заполним таблицу недостающим значением.
Как видите, все наши формулы рассчитаны и возвратили одинаковые значения.
А теперь рассмотрим как проверить, что ячейки не пустые, если в них могут быть записаны не только числа, но и текст.
Итак, перед нами уже знакомое выражение
Для функции СЧЕТЗ не имеет значения, число или текст используются в ячейке Excel.
То же можно сказать и о функции СЧИТАТЬПУСТОТЫ.
А вот третий вариант — к проверке условия при помощи функции ЕЧИСЛО добавляем проверку ЕТЕКСТ (ISTEXT в английском варианте). Объединяем их функцией ИЛИ.
А теперь вставляем в ячейку D5 недостающее значение и проверяем, все ли работает.
Итак, мы с вами убедились, что простая на первый взгляд функция Excel ЕСЛИ дает нам на самом деле много возможностей для операций с данными.
Надеемся, этот материал был полезен. А вот еще несколько примеров работы с условиями «если – то» при помощи функции ЕСЛИ (IF) в Excel.
Примеры использования функции ЕСЛИ:
Операторы И и ИЛИ
Синтаксис оператора И смотрится последующим образом:
=И(лог_значение1; лог_значение2; …), вероятное количество применяемых аргументов – от 1 до 255.
Оператор И употребляется в качестве элемента-связки для нескольких критерий логического выражения. Принципиально, чтоб все аргументы оператора имели значение ИСТИНА (если в выражении их несколько), в неприятном случае вся логическая цепочка будет возвращать значение ЛОЖЬ.
Синтаксис оператора ИЛИ:
=ИЛИ(лог_значение1; лог_значение2; …), вероятное количество применяемых аргументов – от 1 до 255.
В отличие от И, функция ИЛИ будет возвращать значение ИСТИНА даже в случае, когда хотя бы один из применяемых аргументов ему соответствует, а все другие – неверные.
Примеры использования логических функций ИСТИНА, ЛОЖЬ и НЕ в Excel
Пример 1. В таблице Excel хранятся телефонные номера различных организаций. Звонки на некоторые из них являются бесплатными (с кодом 8800), на остальные – платные по тарифу 1,5 руб/мин. Определить стоимость совершенных звонков.
В столбце «Бесплатный» отобразим логические значения ИСТИНА или ЛОЖЬ по следующему условию: является ли код номера телефона равным «8800»? Введем в ячейку C3 формулу:
- ЛЕВСИМВ(B3;4)=»8800″ – условие проверки равенства первых четырех символов строки указанному значению («8800»).
- Если условие выполняется, функция ИСТИНА() вернет истинное логическое значение;
- Если условие не выполнено, функция ЛОЖЬ() вернет ложное логическое значение.
Аналогично определим является ли звонок бесплатным для остальных номеров. Результат:
Для расчета стоимости используем следующую формулу:
- C3=ИСТИНА() – проверка условия «является ли значение, хранящееся в ячейке C3 равным значению, возвращаемым функцией (логическое истина)?».
- 0- стоимость звонка, если условие выполнено.
- D3*1,5 – стоимость звонка, если условие не выполнено.
Мы получили суммарную стоимость вех совершенных звонков по всем организациям.