Очень распространенный вариант расчётов в Excel - "если - то". То есть, при выполнении определенного условия нужно выполнить какое-то вычисление.
Поэтому функция ЕСЛИ в Excel (IF в английской версии) – это не только одна из самых простых функций, но и одна из самых часто используемых. Она является одной из основных и при этом она очень полезна.
Сейчас мы на примерах рассмотрим, как можно использовать функцию ЕСЛИ в Excel, а также какие задачи мы можем решить с ее помощью.
Что делает функция ЕСЛИ?
Она позволяет создать дерево решений, в котором при выполнении какого-то условия происходит определенное действие. А если это условие не выполняется, то совершается другое действие.
При этом аргумент функции должен быть вопросом, на который возможно 2 варианта ответа: «да» и «нет», "истина" или "ложь".
Вот как может выглядеть это дерево решений "если – то".
Итак, функция ЕСЛИ позволяет задать вопрос и указать в Excel на 2 варианта вычислений в зависимости от полученного на него ответа. Они и являются тремя аргументами функции.
Синтаксис функции ЕСЛИ
Вот как выглядит синтаксис этой функции Excel и её аргументы:
=ЕСЛИ(логическое выражение; значение если «да»; значение если «нет»)
Логическое выражение - (обязательное) условие, которое возвращает значение «истина» или «ложь» («да» или «нет»);
Значение если «да» - (обязательное) действие, которое выполняется в случае положительного ответа;
Значение если «нет» - (обязательное) действие, которое выполняется в случае отрицательного ответа;
Давайте вместе подробнее рассмотрим эти аргументы.
Первый аргумент функции ЕСЛИ – это логический вопрос. И ответ этот может быть только «да» или «нет», «истина» или «ложь».
Как правильно задать вопрос? Для этого можно составить логическое выражение, используя знаки “=”, “>”, “<”, “>=”, “<=”, “<>”. Давайте попробуем задать такой вопрос вместе.
Простейший пример применения функции ЕСЛИ.
Предположим, вы работаете в компании, которая занимается продажей шоколада в нескольких регионах и работает с множеством покупателей.
Нам необходимо выделить продажи, которые произошли в нашем регионе, и те, которые были сделаны за рубежом. Для этого нужно добавить в таблицу ещё один признак для каждой продажи – страну, в которой она произошла. Мы хотим, чтобы этот признак создавался автоматически для каждой записи (то есть, строки).
В этом нам поможет функция Excel ЕСЛИ. Добавим в таблицу данных столбец “Страна”. Регион “Запад” – это местные продажи («Местные»), а остальные регионы – это продажи за рубеж («Экспорт»).
Как правильно записать условие "если – то" в Excel?
Устанавливаем курсор в ячейку G2 и вводим знак “=”. Для Excel это означает, что сейчас будет введена формула. Поэтому как только далее будет нажата буква “е”, мы получим предложение выбрать функцию, начинающуюся этой буквы. Выбираем “ЕСЛИ”.
Далее все наши действия также будут сопровождаться подсказками.
В качестве первого аргумента ЕСЛИ записываем: С2=”Запад”. Как и в других функциях Excel, адрес ячейки можно не вводить вручную, а просто кликнуть на ней мышкой. Затем ставим “;” и указываем второй аргумент.
Второй аргумент ЕСЛИ – это значение, которое примет ячейка G2, если записанное нами условие будет выполнено. Это будет слово “Местные”.
После этого снова через запятую указываем значение третьего аргумента. Это значение примет ячейка G2, если условие не будет выполнено: “Экспорт”. Не забываем закончить ввод формулы, закрыв скобку и затем нажав “Enter”.
Наша формула ЕСЛИ выглядит следующим образом:
=ЕСЛИ(C2="Запад";"Местные";"Экспорт")
В английской версии формула IF будет выглядеть так:
=IF(C2="Запад","Местные","Экспорт")
То есть, если значение в ячейке С2 будет "Запад", то Excel возвратит в ячейку с формулой слово "Местные". А если условие не выполнено, то – "Экспорт".
Наша ячейка G2 приняла значение «Местные».
Теперь эту формулу можно скопировать во все остальные ячейки столбца G.
А если один из параметров функции ЕСЛИ не заполнен?
Если вас не интересует, что будет, к примеру, если интересующее вас условие не выполняется, тогда можно не вводить второй аргумент. К примеру, мы предоставляем скидку 10% в случае, если заказано более 100 единиц товара. Не указываем в формуле ЕСЛИ никакого третьего аргумента для случая, когда условие не выполняется.
=ЕСЛИ(E2>100;F2*0.1)
Что будет в результате?
Насколько это красиво и удобно – судить вам. Думаю, в функции ЕСЛИ лучше все же использовать оба аргумента.
И в случае, если второе условие не выполняется, но делать при этом ничего не нужно, то просто вставьте в ячейку пустое значение.
=ЕСЛИ(E2>100;F2*0.1;"")
Смотрите пример на скриншоте ниже.
Однако, такая конструкция может быть использована в том случае, если значение «Истина» или «Ложь» будут использованы другими функциями Excel в качестве логических значений.
Обратите также внимание, что полученные логические значения в ячейке всегда выравниваются по центру. Это видно и на скриншоте выше.
Более того, если вам действительно нужно только проверить какое-то условие и получить «Истина» или «Ложь» («Да» или «Нет»), то вы можете использовать следующую конструкцию –
=ЕСЛИ(E2>100;ИСТИНА;ЛОЖЬ)
Обратите внимание, что кавычки здесь использовать не нужно. Если вы заключите аргументы в кавычки, то в результате выполнения функции ЕСЛИ вы получите текстовые значения, а не логические.
Рассмотрим, как ещё можно использовать функцию ЕСЛИ.
Использование функции ЕСЛИ с числами.
Точно так же, как мы это делали с текстом, в аргументах функции можно использовать и числа.
Однако для нас важно то, что функция ЕСЛИ позволяет не только заполнять ячейки определёнными числовыми значениями в зависимости от выполнения условия, но также и производить некоторые вычисления.
К примеру, мы предоставляем нашему покупателю скидку в зависимости от суммы покупки. Если сумма больше 100, то он получает скидку 10%.
Назовём столбец Н “Скидка” и в ячейку H2 введём функцию ЕСЛИ, вторым аргументом которой будет формула расчёта скидки.
=ЕСЛИ(E2>100;F2*0.1;0)
Функция ЕСЛИ: примеры с несколькими условиями.
Итак, мы разобрались, как работает эта одна из самых часто применяемых функций. Обычная формула ЕСЛИ, которая проверяет одно условие, очень проста и проста в написании.
Но что, если ваши данные требуют более сложных логических проверок с несколькими условиями? В этом случае вы можете включить несколько функций ЕСЛИ в одну формулу, и это будет называться вложенными условиями, своего рода «ЕСЛИ в ЕСЛИ». Самым большим преимуществом такого подхода является то, что он позволяет проверять более одного условия и возвращать разные значения в зависимости от результатов этих проверок, и все это при помощи одной формулы.
Вот типичный пример «ЕСЛИ в ЕСЛИ». Предположим, у вас в таблице Excel есть список студентов в столбце A и их оценки по тестам в столбце B. Вы хотите классифицировать оценки по следующим условиям:
- «Отлично»: более 249 баллов
- «Хорошо»: от 249 до 200 включительно
- «Удовлетворительно»: от 199 до 150 включительно
- «Плохо»: до 150.
А теперь давайте напишем вложенную формулу ЕСЛИ на основе вышеуказанных критериев. Хорошей практикой считается начинать с самого важного условия и максимально упростить свои функции. Наша вложенная формула IF в Excel выглядит следующим образом:
=ЕСЛИ(B2>249; "Отлично"; ЕСЛИ(B2>=200; "Хорошо"; ЕСЛИ(B2>150; "Удовлетворительно"; "Плохо")))
Многие считают, что вложенные условия слишком сложны. Попробуйте взглянуть на это под другим углом:
=ЕСЛИ(B2>249; "Отлично";
ЕСЛИ(B2>=200; "Хорошо";
ЕСЛИ(B2>150; "Удовлетворительно"; "Плохо")))
На самом деле формула указывает Excel, что нужно выполнить логическую проверку первого условия и, если оно выполнено, вернуть значение, указанное в аргументе ИСТИНА . Если условие 1-й проверки не выполнено, то проверьте 2-е выражение, и так далее.
ЕСЛИ ( проверить, если B2> = 249, если ИСТИНА - вернуть «отлично», или же
ЕСЛИ ( проверить, если B2> = 200, если ИСТИНА - вернуть «хорошо», или же
ЕСЛИ ( проверить, если B2> 150, если ИСТИНА - вернуть «Удовлетворительно», если ЛОЖЬ -
вернуть «Плохо»)))
Вложенные условия ЕСЛИ с математическими выражениями.
Вот еще одна типичная задача: цена за единицу товара изменяется в зависимости от его количества. Ваша цель состоит в том, чтобы написать формулу, которая вычисляет цену для любого количества товаров, введенного в определенную ячейку. Другими словами, ваша формула должна проверить несколько условий и выполнить различные вычисления в зависимости от того, в какой диапазон суммы входит указанное количество товара.
Эта задача также может быть выполнена Excel с помощью нескольких вложенных функций ЕСЛИ. Логика та же, что и в приведенном выше примере, с той лишь разницей, что вы умножаете указанное количество на значение, возвращаемое вложенными условиями (т.е. соответствующей ценой за единицу).
Предполагая, что количество записывается в B8, формула будет такая:
=B8*ЕСЛИ(B8>=101; 12; ЕСЛИ(B8>=50; 14; ЕСЛИ(B8>=20; 16; ЕСЛИ( B8>=11; 18; ЕСЛИ(B8>=1; 22; "")))))
И вот результат:
Как вы понимаете, этот пример демонстрирует только общий подход, и вы можете легко настроить эту вложенную функцию в зависимости от вашей конкретной задачи.
Например, вместо «жесткого кодирования» цен в самой формуле можно ссылаться на ячейки, в которых они указаны (ячейки с B2 по B6). Это позволит редактировать исходные данные без необходимости обновления самой формулы:
=B8*ЕСЛИ(B8>=101; B6; ЕСЛИ(B8>=50; B5; ЕСЛИ(B8>=20; B4; ЕСЛИ( B8>=11; B3; ЕСЛИ(B8>=1; B2; "")))))
Объединяем несколько условий в формуле ЕСЛИ.
Для того, чтобы описать условие в первом аргументе функции ЕСЛИ, Excel позволяет использовать более сложные конструкции. В том числе можно использовать и несколько условий. При этом еще воспользуемся тем, что функции можно "вкладывать" внутрь друг друга.
Для объединения нескольких условий в одно используем логические функции ИЛИ и И. Рассмотрим простые примеры.
Пример 1
Функция ИЛИ возвращает ИСТИНА, если хотя бы одно из перечисленных в ней нескольких условий выполняется.
=ЕСЛИ(ИЛИ(C2="Восток";C2="Юг");"Экспорт";"Местные")
Вставляем функцию ИЛИ как условие в функцию ЕСЛИ. В нашем случае, если регион покупателя - Восток или Юг, то отгрузка считается экспортом.
Пример 2.
Используем несколько более сложных условий внутри функции ЕСЛИ.
Если регион продажи - Запад или Юг, и количество при этом больше 100, то предоставляется скидка 10%.
=ЕСЛИ(И(ИЛИ(C2="Запад";C2="Юг");E2>100);F2*0.1;0)
Функция И возвращает ИСТИНА, если выполняются все перечисленные в ней условия. Внутрь функции И мы помещаем два условия:
- Регион - или Запад или Юг
- Количество больше 100.
Первое из них реализуем так же, как это было сделано в первом примере: ИЛИ(C2="Запад";C2="Юг")
Второе - здесь всё очень просто: E2>100
В строке 2, 3 и 5 выполнены оба условия. Эти покупатели получат скидку.
В строке 4 не выполнено ни одного. А в строке 6,7,8 выполнено только первое, а вот количество слишком мало. Поэтому скидка будет равна нулю.
Пример 3.
Конечно, эти несколько условий могут быть и более сложными. Ведь логические функции можно "вкладывать" друг в друга.
Например, в дополнение к предыдущему условию, скидка предоставляется только на черный шоколад.
Все наше записанное ранее условие становится в свою очередь первым аргументом в новой функции И:
- Регион - Запад или Юг и количество больше 100 (рассмотрено в примере 2)
- В названии шоколада встречается слово "черный".
В итоге получаем формулу ЕСЛИ с несколькими условиями:
=ЕСЛИ(И(ЕЧИСЛО(НАЙТИ("Черный";D2)); И(ИЛИ(C2="Запад";C2="Юг"));E2>100);F2*0.1;0)
Функция НАЙТИ ищет точное совпадение. Если же регистр символов в тексте для нас не важен, то вместо НАЙТИ можно использовать аналогичную функцию СОВПАД.
=ЕСЛИ(И(ЕЧИСЛО(СОВПАД("черный";D2)); И(ИЛИ(C2="Запад";C2="Юг"));E2>100);F2*0.1;0)
В итоге, количество вложенных друг в друга условий в Excel может быть очень большим. Важно только точно соблюдать логическую последовательность их выполнения.
Производим вычисления по условию.
Чтобы выполнить действие только тогда, когда ячейка не пуста (содержит какие-то значения), вы можете использовать формулу Excel, основанную на функции ЕСЛИ.
В примере ниже столбец F содержит даты завершения закупок шоколада.
Поскольку даты для Excel - это числа, то наша задача состоит в том, чтобы проверить в ячейке наличие числа.
Формула в ячейке F3:
=ЕСЛИ(СЧЁТЗ(D3:D9)=7;СУММ(C3:C9);"")
Как работает эта формула?
Функция СЧЕТЗ (английский вариант - COUNTA) подсчитывает количество значений (текстовых, числовых и логических) в диапазоне ячеек Excel. Если мы знаем количество значений в диапазоне, то легко можно составить условие. Если число значений равно числу ячеек Excel, то значит, пустых среди них нет и можно производить вычисление. Если такого равенства нет, значит есть хотя бы одна пустая ячейка, и вычислять нельзя.
Согласитесь, что нельзя назвать этот способ определения наличия пустых ячеек удобным. Ведь число строк в таблице может измениться, и нужно будет менять формулу: вместо цифры 7 ставить другое число.
Давайте рассмотрим и другие варианты. В ячейке F6 записана большая формула, которая должна проверить условие "если не пусто".
=ЕСЛИ(ИЛИ(ЕПУСТО(D3);ЕПУСТО(D4); ЕПУСТО(D5);ЕПУСТО(D6); ЕПУСТО(D7);ЕПУСТО(D8);ЕПУСТО(D9));""; СУММ(C3:C9))
Функция ЕПУСТО (английский вариант - ISBLANK) проверяет, не ссылается ли она на пустую ячейку. Если это так, то возвращает ИСТИНА.
Функция ИЛИ (английский вариант - OR) позволяет объединить условия и указать, что нам достаточно того, чтобы хотя бы одна функция ЕПУСТО обнаружила пустую ячейку. В этом случае никаких вычислений не производим и функция ЕСЛИ возвращает пустую строку. А вот если не пусто – то производим вычисления.
Все достаточно просто, но перечислять кучу ссылок на ячейки не слишком удобно. К тому же, здесь, как и в предыдущем случае, формула не масштабируема: при изменении таблицы она нуждается в корректировке. Это не слишком удобно, да и забыть можно сделать это.
Рассмотрим теперь более универсальные решения.
=ЕСЛИ(СЧИТАТЬПУСТОТЫ(D3:D9);"";СУММ(C3:C9))
В качестве аргумента условия в функции ЕСЛИ мы используем СЧИТАТЬПУСТОТЫ (английский вариант - COUNTBLANK). Она возвращает количество пустых ячеек, но любое число больше 0 Excel интерпретирует как ИСТИНА.
И, наконец, еще одна формула ЕСЛИ (IF) в Excel, которая проверит "если не пусто" и позволит производить расчет только при наличии непустых ячеек.
=ЕСЛИ(ЕЧИСЛО(D3:D9);СУММ(C3:C9);"")
Функция ЕЧИСЛО (или ISNUMBER) возвращает ИСТИНА, если ссылается на число. Естественно, при ссылке на пустую ячейку возвратит ЛОЖЬ.
А теперь посмотрим, как это работает. Заполним таблицу недостающим значением.
Как видите, все наши формулы рассчитаны и возвратили одинаковые значения.
А теперь рассмотрим как проверить, что ячейки не пустые, если в них могут быть записаны не только числа, но и текст.
Итак, перед нами уже знакомое выражение
=ЕСЛИ(СЧЁТЗ(D3:D9)=7;СУММ(C3:C9);"")
Для функции СЧËТЗ не имеет значения, число или текст используются в ячейке Excel.
=ЕСЛИ(СЧИТАТЬПУСТОТЫ(D3:D9);"";СУММ(C3:C9))
То же можно сказать и о функции СЧИТАТЬПУСТОТЫ.
А вот третий вариант - к проверке условия при помощи функции ЕЧИСЛО добавляем проверку ЕТЕКСТ (ISTEXT в английском варианте). Объединяем их функцией ИЛИ.
=ЕСЛИ(ИЛИ(ЕТЕКСТ(D3:D9); ЕЧИСЛО(D3:D9));СУММ(C3:C9);"")
А теперь вставляем в ячейку D5 недостающее значение и проверяем, все ли работает.
Итак, мы с вами убедились, что простая на первый взгляд функция Excel ЕСЛИ дает нам на самом деле много возможностей для операций с данными.
Надеемся, этот материал был полезен. А вот еще несколько примеров работы с условиями "если – то" при помощи функции ЕСЛИ (IF) в Excel.
Здравствуйте! пользуясь Вашим предложением помощи в решении задачек в экселе, прошу Вас, подскажите пожалуйста как прописать формулу с несколькими условиями. Пытаясь решить задачу(есть умная таблица,где стоят фильтры по данным,нужно сделаать чтобы для каждому вида изменения происходило сравнение данных..
допустим вид изменения: изменена и пустота---сравнить дату-если дата = дата,"";"дата"
много условий
К сожалению, не совсем понятно, что вы хотите сделать при помощи формулы. Как использовать функцию ЕСЛИ с несколькими условиями - можно прочитать в этой статье выше. Остальное нуждается в пояснениях.
исправьте "," в формулах на ";"
Спасибо, поправил. Забыл про региональные настройки ...
Здравствуйте! Подскажите, пожалуйста, как записать функцию, подсчитывающую одинаковое значение непрерывно повторяющееся и сбрасывающее подсчет, если значение отличается от предыдущего. На примере поясню. Мне нужно подсчитать количество непрерывно повторяющихся ячеек "А" в колонке.
Начинаю по порядку с каждой новой строки набирать:
Б
Б
А
А
А
где формула показывает результат 3, далее набираю
А
показывает результат 4, набираю
Б
результат 0 (обнуляется), далее набираю
А
А
формула заново начинает считать непрерывно повторяющиеся значения А и показывает 2, и так далее.
Буду благодарен за ответ.
Здравствуйте! Если правильно понял проблему, то может помочь эта формула массива:
=СЧЁТЗ(A1:A100)-МАКС(((A1:A100<>"А")*(A1:A100<>""))*СТРОКА(A1:A100))
Добрый день! Помогите пожалуйста прописать формулу. Колонка Е (возраст на текущую дату) отсортировать по возрасту в колонку J. За ранее Вам очень благодарна.
Уважаемый Александр, здравствуйте!
Пользуясь Вашим предложением помощи в решении задачек в экселе, прошу Вас, подскажите пожалуйста как прописать формулу с несколькими условиями. Пытаясь решить задачу (формула не работает) я пишу:
=ЕСЛИ(И(ИЛИ(C70>0);сводная!F65>0<=K$7*2);K$7+0,0001*СЛУЧМЕЖДУ(-50000;50000);сводная!F65)
т.е. хочется, чтобы выполнялись условия:
значение в столбце F (F65), расположенное на листе «сводная», может быть использовано в расчете если число (С70) в соответствующей строке не равно (больше) нулю.
при этом само число F65 должно быть больше 0, но меньше удвоенного числа в ячейке K$7.
в результате, если выполняются все условия, вычисляется значение по формуле K$7+0,0001*СЛУЧМЕЖДУ(-50000;50000) или, если не выполняются, в расчетную ячейку просто переносится число из таблицы «сводная». При этом при протягивании формулы до конца листа за пределами таблицы должны быть нули.
Я уже воспользовался один раз формулой с Вашего сайта и оставил там свой отзыв.
Очень надеюсь на помощь!
Если я правильно понял проблему, у вас неверно записаны условия. Попробуйте формулу
=ЕСЛИ(И(C70>0;сводная!F65>0;сводная!F65<=(K$7*2));K$7+0.0001*СЛУЧМЕЖДУ(-50000;50000);сводная!F65)