Menu

Функция ЕСЛИ в Excel (эксель): формула, примеры, ошибки

=ЕСЛИ(B2>=50;"Pass";"Fail") проверяет, равно ли B2 50 или больше, и возвращает Pass, если да, и Fail, если нет. Синтаксис ЕСЛИ, ЕСЛИ с текстом, с вычислением, с пустой ячейкой и ошибки, из-за которых ЕСЛИ возвращает не то.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=ЕСЛИ(B2>=50;"Pass";"Fail") проверяет, равен ли балл в B2 50 или больше. Если да, ячейка показывает Pass; если нет, показывает Fail. Это функция ЕСЛИ (по-английски IF), та самая формула «если, то» в Excel.

Сдал или не сдал
C2
ABC
1StudentScoreResult
2Ana72Pass
3Ben45Fail
4Chloe50Pass
5Dan38Fail
6Eve91Pass
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЕСЛИ(B2>=50;"Pass";"Fail")

Щёлкните C2, чтобы увидеть формулу, затем замените балл Ben в B3 на 60: его результат сменится на Pass. У Chloe ровно 50, а >= означает «50 или больше», поэтому она сдаёт. С > она бы не сдала.

Синтаксис ЕСЛИ

=IF(logical_test, value_if_true, value_if_false)
  • logical_test (лог_выражение) это любое сравнение или формула, которая даёт ИСТИНА или ЛОЖЬ: B2>=50, C2="Paid", D2<СЕГОДНЯ().
  • value_if_true (значение_если_истина) это то, что ячейка показывает, когда проверка даёт ИСТИНА.
  • value_if_false (значение_если_ложь) это то, что она показывает в остальных случаях. Аргумент необязательный: если его пропустить, ячейка показывает ЛОЖЬ, когда проверка не проходит. Если оставить разделитель, но аргумент пустым, =ЕСЛИ(B2>=50;"Pass";), ячейка покажет 0.

Каждый результат может быть текстом в двойных кавычках ("Pass"), числом (0), ссылкой на ячейку (C2) или другой формулой. Текст без кавычек читается как имя, поэтому =ЕСЛИ(B2>=50;Pass;Fail) даёт #ИМЯ? (по-английски #NAME?; таблицы на этой странице показывают ошибки под английскими именами).

Операторы сравнения: = (равно), <> (не равно), >, <, >= и <=. В русском Excel аргументы разделяются точкой с запятой: =ЕСЛИ(B2>=50;"Pass";"Fail"). Таблицы на этой странице показывают английскую запись, но формулы в них можно вводить и по-русски. В Google Таблицах та же ЕСЛИ с теми же аргументами.

ЕСЛИ с текстом

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

Бесплатная доставка для региона North
C2
ABCD
1OrderRegionFree deliveryExact case
21001NorthYesYes
31002SouthNoNo
41003northYesNo
51004EastNoNo
61005NORTHYesNo
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЕСЛИ(B2="North";"Yes";"No")

Столбец C говорит Yes для North, north и NORTH, потому что = не обращает внимания на регистр. Когда регистр важен (коды товаров, пароли), проверяйте функцией СОВПАД (EXACT), как в столбце D: Yes получает только строка, где написано ровно North.

Чтобы проверить «всё, кроме значения», используйте <>: =ЕСЛИ(B2<>"North";"Standard";"Free"). Чтобы проверить, содержит ли ячейка где-то внутри слово, ЕСЛИ нужна функция ПОИСК, о ней рассказано на странице функций Е.

ЕСЛИ с вычислением

Результаты ЕСЛИ не обязаны быть текстом. Здесь каждый менеджер получает бонус 5% с продаж свыше 1000, а ниже ничего:

Бонус свыше 1000
C2
ABC
1RepSalesBonus
2Ana$1,400$70
3Ben$800$0
4Chloe$1,000$0
5Dan$2,600$130
6Eve$1,150$58
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЕСЛИ(B2>1000;B2*5%;0)

Ana получает $70 (5% от 1400), а Ben получает $0. Chloe продала ровно на 1000, а проверка звучит как «больше 1000», поэтому она тоже получает $0. Замените формулу в C2 на =ЕСЛИ(B2>=1000;B2*5%;0), и её бонус станет $50.

Проверка может также сравнивать две ячейки, =ЕСЛИ(B2>C2;"Over target";"Under target"), или ячейку с вычислением, =ЕСЛИ(B2>СРЗНАЧ($B$2:$B$6);"Above average";"").

ЕСЛИ ячейка пустая

B2="" даёт ИСТИНА, когда B2 пустая. Используйте это, чтобы пропускать строки, где данных ещё нет, и столбец с формулой не заполнялся нулями:

Пропуск строк без количества
D2
ABCDE
1ItemQtyPriceTotalStatus
2Pens10$1.50$15.00Ordered
3Paper$4.20Not ordered
4Ink2$18.00$36.00Ordered
5Tape$2.80Not ordered
6Clips5$0.90$4.50Ordered
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ЕСЛИ(B2="";"";B2*C2)

"" (две двойные кавычки, между которыми ничего нет) это пустой текст, поэтому Paper и Tape ничего не показывают в столбце D. Введите количество в B3, и итог появится. Столбец E проверяет обратное с <>"", «не пусто».

Ячейка с ="" выглядит пустой, но для ЕПУСТО она не пустая. Разница важна, когда столбец читают другие формулы: например, СЧЁТЗ её считает.

ЕСЛИ с двумя условиями

ЕСЛИ принимает одну проверку. Чтобы требовать два условия сразу, поместите в проверку И; чтобы принять любое из двух, используйте ИЛИ:

=IF(AND(B2>=50,C2>=50),"Pass","Fail")
=IF(OR(B2="North",B2="South"),"Zone 1","Zone 2")

В русском Excel: =ЕСЛИ(И(B2>=50;C2>=50);"Pass";"Fail") и =ЕСЛИ(ИЛИ(B2="North";B2="South");"Zone 1";"Zone 2"). Обе функции объясняются с живыми примерами на странице И и ИЛИ. Для трёх и более возможных результатов (A, B, C, F) вложите одну ЕСЛИ в другую (вложенные ЕСЛИ) или используйте ЕСЛИМН.

Практика: заказывать или нет

Проверка запаса
D2
ABCD
1ItemStockMinimumStatus
2Pens1220
3Paper3025
4Tape1512
5Ink810
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В D2 покажите "Reorder", когда запас в B2 меньше минимума в C2, иначе покажите "OK". Формула протягивается вниз до D5.

Бонус 10%
C2
ABC
1RepSalesBonus
2Ana$1,250
3Ben$600
4Chloe$2,300
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В C2 верните бонус 10% от продаж в B2, когда продажи больше 1000, и 0 в остальных случаях. Формула протягивается вниз до C4.

Частые ошибки в ЕСЛИ

Кавычки вокруг числа. =ЕСЛИ(B2>"50";"High";"Low") сравнивает B2 с текстом «50», а не с числом 50. Excel ставит любое число ниже любого текста, поэтому проверка даёт ЛОЖЬ для любого числа в B2, и формула всегда говорит Low. Пишите числа без кавычек: B2>50.

Использование ==. Проверка равенства в Excel это один знак =. Если ввести =ЕСЛИ(B2=="Paid";"Yes";"No"), Excel откажется принимать формулу с сообщением «There's a problem with this formula» (в формуле обнаружена ошибка).

Числа, сохранённые как текст. Если в B2 хранится '12 (текст, похожий на число, часто после импорта), B2>=50 сравнивает текст с числом. Текст всегда считается больше, поэтому проверка даёт ИСТИНА, и 12 проходит. Сначала преобразуйте столбец; как это сделать, показано на странице преобразования текста в число.

Ожидание ИСТИНА в виде текста. =ЕСЛИ(B2>=50;"ИСТИНА";"ЛОЖЬ") возвращает слова как текст, и другие формулы не могут использовать его как логические значения. Если нужны ИСТИНА и ЛОЖЬ, ЕСЛИ вообще не требуется: =B2>=50 возвращает их напрямую.

Пропущенные закрывающие скобки. Каждая ЕСЛИ открывает одну скобку, и ей нужна своя ). Во время редактирования Excel окрашивает каждую пару скобок в свой цвет, и пропущенную легко заметить.

Часто задаваемые вопросы

Как написать формулу ЕСЛИ ТО в Excel?

Напишите =ЕСЛИ(test; value_if_true; value_if_false). Например, =ЕСЛИ(B2>=50;"Pass";"Fail") показывает Pass, когда B2 равно 50 или больше, и Fail в остальных случаях. Текстовые результаты заключаются в двойные кавычки, числа и ссылки на ячейки нет.

Почему формула ЕСЛИ возвращает ЛОЖЬ?

Вы пропустили третий аргумент. =ЕСЛИ(B2>=50;"Pass") возвращает ЛОЖЬ, когда проверка не проходит. Добавьте значение для этого случая, например "", чтобы ячейка выглядела пустой: =ЕСЛИ(B2>=50;"Pass";"").

Учитывает ли функция ЕСЛИ регистр?

Нет. =ЕСЛИ(B2="North";"Yes";"No") возвращает Yes для North, north и NORTH. Чтобы сравнить с точным регистром, используйте в проверке СОВПАД: =ЕСЛИ(СОВПАД(B2;"North");"Yes";"No").

Как сделать, чтобы ЕСЛИ оставляла ячейку пустой?

Верните пустую текстовую строку, две двойные кавычки: =ЕСЛИ(B2="";"";B2*C2) ничего не показывает, когда B2 пустая, а иначе показывает произведение. В ячейке всё равно остаётся формула, поэтому ЕПУСТО для неё возвращает ЛОЖЬ.

Может ли ЕСЛИ проверять несколько условий?

Да. Поместите И или ИЛИ внутрь проверки, =ЕСЛИ(И(B2>=50;C2>=50);"Pass";"Fail"), или вложите одну ЕСЛИ в другую, если исходов больше двух. В Excel 2019 и новее несколько исходов без вложения обрабатывает ЕСЛИМН.

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ