Функция ЕСЛИ — вложенные формулы и типовые ошибки
Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2024 Excel 2024 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2016 Excel Web App Excel для Windows Phone 10

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

  • =ЕСЛИ(это истинно, то сделать это, в противном случае сделать что-то еще)

Поэтому у функции ЕСЛИ возможны два результата. Первый результат возвращается в случае, если сравнение истинно, второй — если сравнение ложно.

Инструкции IF невероятно надежны и являются основой для многих моделей электронных таблиц, но они также являются первопричиной многих проблем с электронными таблицами. В идеале оператор IF должен применяться к минимальным условиям, таким как Male/Female, Yes/No/Maybe, чтобы назвать несколько, но иногда может потребоваться оценить более сложные сценарии, требующие вложения* более 3 функций IF вместе.

* "Вложенный" относится к практике объединения нескольких функций вместе в одной формуле.

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

Синтаксис

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

Например:

  • =ЕСЛИ(A2>B2;"Превышение бюджета";"ОК")

  • =ЕСЛИ(A2=B2;B4-A4;"")

Имя аргумента

Описание

лог_выражение   

(обязательный)

Условие, которое нужно проверить.

значение_если_истина   

(обязательный)

Значение, которое должно возвращаться, если лог_выражение имеет значение ИСТИНА.

значение_если_ложь   

(необязательный)

Значение, которое должно возвращаться, если лог_выражение имеет значение ЛОЖЬ.

Примечания

Хотя Excel позволит вложить до 64 различных функций IF, делать это не рекомендуется. Почему?

  • Нужно очень крепко подумать, чтобы выстроить последовательность из множества операторов ЕСЛИ и обеспечить их правильную отработку по каждому условию на протяжении всей цепочки. Если формула не вложена на 100 %, она может работать 75 % времени, но в 25 % случаев возвращает неожиданные результаты. К сожалению, шансов отыскать эти 25 % немного.

  • Работа с множественными операторами ЕСЛИ может оказаться чрезвычайно трудоемкой, особенно если вы вернетесь к ним через какое-то время и попробуете разобраться, что пытались сделать вы или, и того хуже, кто-то другой.

Если вы окажетесь с заявлением IF, что, кажется, продолжать расти без конца в поле зрения, пришло время положить мышь и переосмыслить свою стратегию.

Давайте посмотрим, как правильно создать сложную вложенную инструкцию IF с помощью нескольких IFs и когда следует признать, что пришло время использовать другое средство в вашем арсенале Excel.

Примеры

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

Сложный оператор ЕСЛИ с вложением — ячейка E2 содержит формулу =ЕСЛИ(B2>97;"A+";ЕСЛИ(B2>93;"A";ЕСЛИ(B2>89;"A-";ЕСЛИ(B2>87;"B+";ЕСЛИ(B2>83;"B";ЕСЛИ(B2>79;"B-";ЕСЛИ(B2>77;"C+";ЕСЛИ(B2>73;"C";ЕСЛИ(B2>69;"C-";ЕСЛИ(B2>57;"D+";ЕСЛИ(B2>53;"D";ЕСЛИ(B2>49;"D-";"F"))))))))))))
  • =ЕСЛИ(D2>89;"A";ЕСЛИ(D2>79;"B";ЕСЛИ(D2>69;"C";ЕСЛИ(D2>59;"D";"F"))))

    Этот сложный оператор с вложенными функциями ЕСЛИ следует простой логике:

  1. Если тестовых баллов (в ячейке D2) больше 89, учащийся получает оценку A.

  2. Если тестовых баллов больше 79, учащийся получает оценку B.

  3. Если тестовых баллов больше 69, учащийся получает оценку C.

  4. Если тестовых баллов больше 59, учащийся получает оценку D.

  5. В противном случае учащийся получает оценку F.

Этот пример относительно безопасен, так как маловероятно, что корреляция между тестами и буквами изменится, поэтому не потребуется много обслуживания. Но вот мысль - что, если вам нужно сегментировать оценки между A+, A и A- (и т. д.)? Теперь ваши четыре условных оператора ЕСЛИ нужно переписать с учетом 12 условий! Вот как будет выглядеть формула:

  • =ЕСЛИ(B2>97;"A+";ЕСЛИ(B2>93;"A";ЕСЛИ(B2>89;"A-";ЕСЛИ(B2>87;"B+";ЕСЛИ(B2>83;"B";ЕСЛИ(B2>79;"B-"; ЕСЛИ(B2>77;"C+";ЕСЛИ(B2>73;"C";ЕСЛИ(B2>69;"C-";ЕСЛИ(B2>57;"D+";ЕСЛИ(B2>53;"D";ЕСЛИ(B2>49;"D-";"F"))))))))))))

Он по-прежнему функционально точный и будет работать, как ожидалось, но на запись требуется много времени и больше времени для тестирования, чтобы убедиться, что он делает то, что вы хотите. Еще одна вопиющая проблема заключается в том, что вы должны были ввести оценки и эквивалентные буквы оценки вручную. Каковы шансы на то, что у вас случайно будет опечатка? Теперь представьте, пытаетесь сделать это 64 раза с более сложными условиями! Конечно, это возможно, но вы действительно хотите подвергнуть себя такого рода усилиям и вероятным ошибкам, которые будет очень трудно обнаружить?

Совет: Для каждой функции в Excel обязательно указываются открывающая и закрывающая скобки (). Excel попытается помочь вам понять, что происходит, раскрасив различные части формулы при ее редактировании. Например, если вы измените приведенную выше формулу при перемещении курсора за каждую из конечных скобок "", соответствующая открывающая скобка будет переходить к тому же цвету. Это может быть особенно полезно в сложных вложенных формулах, когда вы пытаетесь выяснить, достаточно ли у вас совпадающих скобок.

Дополнительные примеры

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

Ячейка D9 содержит формулу ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))
  • =ЕСЛИ(C9>15000;20%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>5000;10%;0)))))

Эта формула означает: ЕСЛИ(ячейка C9 больше 15 000, то вернуть 20 %, ЕСЛИ(ячейка C9 больше 12 500, то вернуть 17,5 % и т. д...

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

Совет: Чтобы сложные формулы было проще читать, вы можете вставить разрывы строк в строке формул. Просто нажмите клавиши ALT+ВВОД перед текстом, который хотите перенести на другую строку.

Перед вами пример сценария для расчета комиссионных с неправильной логикой:

Ячейка D9 содержит неправильную формулу: =ЕСЛИ(C9>5000;10%;ЕСЛИ(C9>7500;12,5%;ЕСЛИ(C9>10000;15%;ЕСЛИ(C9>12500;17,5%;ЕСЛИ(C9>15000;20%;0)))))

Видите ли вы, что не так? Сравните порядок сравнений доходов с предыдущим примером. В каком направлении это происходит? Правильно, это происходит снизу вверх ($ 5000 до $ 15000), а не наоборот. Но почему это должно быть такое большое дело? Это большое дело, потому что формула не может пройти первую оценку для любого значения более $ 5000. Предположим, что у вас есть $ 12500 в доходе - если отчет вернет 10%, потому что это больше $ 5000, и это остановится на этом. Это может быть невероятно проблематично, так как во многих ситуациях ошибки такого типа не замечены, пока они не окажут негативное влияние. Так зная, что есть некоторые серьезные подводные камни со сложными вложенными утверждениями IF, что вы можете сделать? В большинстве случаев вместо построения сложной формулы с помощью функции IF можно использовать функцию ВПР. Используя функцию ВПР, сначала необходимо создать эталонную таблицу:

Ячейка D2 содержит формулу =ВПР(C2;C5:D17;2;ИСТИНА)
  • =ВПР(C2;C5:D17;2;ИСТИНА)

В этой формуле предлагается найти значение ячейки C2 в диапазоне C5:C17. Если значение найдено, возвращается соответствующее значение из той же строки в столбце D.

Ячейка C9 содержит формулу =ВПР(B9;B2:C6;2;ИСТИНА)
  • =ВПР(B9;B2:C6;2;ИСТИНА)

Эта формула ищет значение ячейки B9 в диапазоне B2:B22. Если значение найдено, возвращается соответствующее значение из той же строки в столбце C.

Примечание: В обеих функциях ВПР в конце формулы используется аргумент ИСТИНА, который означает, что мы хотим найти близкое совпадение. Иначе говоря, будут сопоставляться точные значения в таблице подстановки, а также все значения, попадающие между ними. В этом случае таблицы подстановки нужно сортировать по возрастанию, от меньшего к большему.

VLOOKUP рассматривается здесь гораздо более подробно, но это, безусловно, гораздо проще, чем 12-уровневая сложная вложенная инструкция IF! Есть и другие, менее очевидные, преимущества:

  • Таблицы ссылок функции ВПР открыты и их легко увидеть.

  • Значения в таблицах просто обновлять, и вам не потребуется трогать формулу, если условия изменятся.

  • Если вы не хотите, чтобы пользователи видели или вмешивались в вашу справочную таблицу, просто поместите ее на другой лист.

Вы знали?

Теперь есть функция УСЛОВИЯ, которая может заменить несколько вложенных операторов ЕСЛИ. Так, в нашем первом примере оценок с 4 вложенными функциями ЕСЛИ:

  • =ЕСЛИ(D2>89;"A";ЕСЛИ(D2>79;"B";ЕСЛИ(D2>69;"C";ЕСЛИ(D2>59;"D";"F"))))

можно сделать все гораздо проще с помощью одной функции ЕСЛИМН:

  • =ЕСЛИМН(D2>89;"A";D2>79;"B";D2>69;"C";D2>59;"D";ИСТИНА;"F")

Функция IFS отлично подходит, так как вам не нужно беспокоиться обо всех этих инструкциях IF и скобках.

Примечание: Эта функция доступна только при наличии подписки на Microsoft 365. Если вы являетесь подписчиком Microsoft 365, проверьте, установлена ли у вас последняя версия Office.Купить или попробовать Microsoft 365

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Статьи по теме

функция IFS (Microsoft 365, Excel 2016 и более поздних версий) Функция СЧЁТЕСЛИ будет подсчитывать значения на основе одного критерия Функция СЧЁТЕСЛИМН будет подсчитывать значения на основе нескольких критериев Функция СУММЕСЛИ суммирует значения на основе одного условия СУММЕСЛИМН функция суммирует значения на основе нескольких критериев Функция ANDФункция ORФункция ВПРОбщие сведения о формулах в ExcelКак избежать неработающие формулыОбнаружение ошибок в формулахЛогические функцииФункции Excel (в алфавитном порядке)Функции Excel (по категориям)

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.