=ЕСЛИ(B2>=50;"Pass";"Fail") проверяет, равен ли балл в B2 50 или больше. Если да, ячейка показывает Pass; если нет, показывает Fail. Это функция ЕСЛИ (по-английски IF), та самая формула «если, то» в Excel.
| A | B | C | |
|---|---|---|---|
| 1 | Student | Score | Result |
| 2 | Ana | 72 | Pass |
| 3 | Ben | 45 | Fail |
| 4 | Chloe | 50 | Pass |
| 5 | Dan | 38 | Fail |
| 6 | Eve | 91 | Pass |
=ЕСЛИ(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 Таблицах та же ЕСЛИ с теми же аргументами.
ЕСЛИ с текстом
Проверка может сравнивать ячейку с текстом. Текст заключается в двойные кавычки, а сравнение не различает прописные и строчные буквы.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Free delivery | Exact case |
| 2 | 1001 | North | Yes | Yes |
| 3 | 1002 | South | No | No |
| 4 | 1003 | north | Yes | No |
| 5 | 1004 | East | No | No |
| 6 | 1005 | NORTH | Yes | No |
=ЕСЛИ(B2="North";"Yes";"No")Столбец C говорит Yes для North, north и NORTH, потому что = не обращает внимания на регистр. Когда регистр важен (коды товаров, пароли), проверяйте функцией СОВПАД (EXACT), как в столбце D: Yes получает только строка, где написано ровно North.
Чтобы проверить «всё, кроме значения», используйте <>: =ЕСЛИ(B2<>"North";"Standard";"Free"). Чтобы проверить, содержит ли ячейка где-то внутри слово, ЕСЛИ нужна функция ПОИСК, о ней рассказано на странице функций Е.
ЕСЛИ с вычислением
Результаты ЕСЛИ не обязаны быть текстом. Здесь каждый менеджер получает бонус 5% с продаж свыше 1000, а ниже ничего:
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,400 | $70 |
| 3 | Ben | $800 | $0 |
| 4 | Chloe | $1,000 | $0 |
| 5 | Dan | $2,600 | $130 |
| 6 | Eve | $1,150 | $58 |
=ЕСЛИ(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 пустая. Используйте это, чтобы пропускать строки, где данных ещё нет, и столбец с формулой не заполнялся нулями:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Qty | Price | Total | Status |
| 2 | Pens | 10 | $1.50 | $15.00 | Ordered |
| 3 | Paper | $4.20 | Not ordered | ||
| 4 | Ink | 2 | $18.00 | $36.00 | Ordered |
| 5 | Tape | $2.80 | Not ordered | ||
| 6 | Clips | 5 | $0.90 | $4.50 | Ordered |
=ЕСЛИ(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) вложите одну ЕСЛИ в другую (вложенные ЕСЛИ) или используйте ЕСЛИМН.
Практика: заказывать или нет
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Stock | Minimum | Status |
| 2 | Pens | 12 | 20 | |
| 3 | Paper | 30 | 25 | |
| 4 | Tape | 15 | 12 | |
| 5 | Ink | 8 | 10 |
Ваша очередь: В D2 покажите "Reorder", когда запас в B2 меньше минимума в C2, иначе покажите "OK". Формула протягивается вниз до D5.
| A | B | C | |
|---|---|---|---|
| 1 | Rep | Sales | Bonus |
| 2 | Ana | $1,250 | |
| 3 | Ben | $600 | |
| 4 | Chloe | $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 и новее несколько исходов без вложения обрабатывает ЕСЛИМН.