Функция IF в Excel

Функция IF (ЕСЛИ) в Excel выполняет логическую проверку и возвращает одно значение для результата TRUE, а другое — для результата FALSE. Например, чтобы «сдать» баллы выше 70: = ЕСЛИ (A1> 70, «Пройдено», «Не пройдено»). С помощью вложенных функций IF можно проверить более одного условия. Функцию ЕСЛИ можно комбинировать с логическими функциями, такими как AND и OR, для расширения логического теста.

Что делает функция IF в Excel?

Функция IF в Excel тестирует на конкретное состояние.

Возвращаемое значение

Значения, которые вы указываете для TRUE или FALSE.

Аргументы

  • logical_test — значение или логическое выражение, которое можно оценить как TRUE или FALSE.
  • value_if_true — [необязательный] Значение, которое будет возвращено, когда logical_test оценивается как TRUE.
  • value_if_false — [необязательный] Значение, которое будет возвращено, когда logical_test оценивается как FALSE.

Синтаксис

=IF(logical_test, [value_if_true, [value_if_false])

Примечания по использованию

Функция IF выполняет логическую проверку и возвращает одно значение для результата TRUE и другое значение для результата FALSE. Результатом IF может быть значение, ссылка на ячейку или даже другая формула. Комбинируя функцию с другими логическими функциями, такими как AND и OR , вы можете проверять более одного условия одновременно.

Синтаксис

Общий синтаксис функции IF в Excel выглядит следующим образом:

=IF(logical_test,[value_if_true],[value_if_false])

Первый аргумент, logical_test, обычно представляет собой выражение, возвращающее либо TRUE, либо FALSE. Второй аргумент,  value_if_true, — это значение, которое будет возвращено, когда logical_test имеет значение TRUE.

Последний аргумент,  value_if_false, — это значение, которое будет возвращено, когда logical_test имеет значение FALSE. И  value_if_true, и  value_if_false являются необязательными, но вы должны указать либо одно, либо другое. Например, если ячейка A1 содержит 80, то:

=IF(A1>75,TRUE) // returns TRUE
=IF(A1>75,"OK") // returns "OK"
=IF(A1>85,"OK") // returns FALSE
=IF(A1>75,10,0) // returns 10
=IF(A1>85,10,0) // returns 0
=IF(A1>75,"Yes","No") // returns "Yes"
=IF(A1>85,"Yes","No") // returns "No"

Обратите внимание, что такие текстовые значения, как «ОК», «Да», «Нет» и т. д., должны быть заключены в двойные кавычки («»). Однако числовые значения не следует заключать в кавычки.

Логические тесты

Функция ЕСЛИ поддерживает логические операторы (>,<,<>,=) при создании логических тестов. Чаще всего логическая_проверка в IF представляет собой полное логическое выражение, которое будет иметь значение TRUE или FALSE. В таблице ниже приведены некоторые распространенные примеры:

Цель Логический тест
Если A1 больше 75 А1>75
Если А1 равно 100 А1=100
Если A1 меньше или равно 100 А1<=100
Если A1 равно «Красный» А1 = «красный»
Если A1 не равно «Красный» A1<>»красный»
Если А1 меньше В1 А1<В1
Если A1 пуст А1=»»
Если A1 не пуст А1<>»»
Если A1 меньше текущей даты A1<СЕГОДНЯ()

Обратите внимание, что текстовые значения должны быть заключены в двойные кавычки («»), а числа — нет.

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

Пример «пройдено или не пройдено»

На листе, показанном выше, мы хотим назначить «пройдено» или «не пройдено» на основе тестовой оценки. Проходной балл 70 и выше. Формула в D6, скопированная вниз, выглядит так:

=IF(C5>=70,"Pass","Fail")

Перевод: если значение в ячейке C5 больше или равно 70, вернуть «Pass». В противном случае вернуть «Fail».

Обратите внимание, что логический ход этой формулы можно изменить на противоположный. Эта формула возвращает тот же результат:

=IF(C5<70,"Fail","Pass")

Перевод: если значение в ячейке C5 меньше 70, вернуть «Fail». В противном случае верните «Pass».

Обе приведенные выше формулы при копировании вернут правильные результаты.

Назначьте баллы в зависимости от цвета

На листе ниже мы хотим присвоить баллы на основе цвета в столбце B. Если цвет «красный», результат должен быть 100. Если цвет «синий», результат должен быть 125. Это требует, чтобы мы используйте формулу, основанную на двух функциях ЕСЛИ, одна из которых вложена в другую. Формула в C5, скопированная вниз, выглядит так:

=IF(B5="red",100,IF(B5="blue",125))

Перевод: ЕСЛИ значение в ячейке B5 «красное», вернуть 100. В противном случае, если значение в ячейке B5 «синее», вернуть 125.

В этом примере следует обратить внимание на три вещи:

  1. Формула вернет FALSE, если значение в ячейке B5 будет любым, кроме «красного» или «синего».
  2. Текстовые значения «красный» и «синий» должны быть заключены в двойные кавычки («»)
  3. Функция IF не чувствительна к регистру и будет соответствовать «красному», «красному», «КРАСНОМУ» или «красному».

Вернуть другую формулу

В результате функция IF может вернуть другую формулу. Например, приведенная ниже формула вернет A1*5%, если A1 меньше 100, и A1*7%, если A1 больше или равно 100:

=IF(A1<100,A1*5%,A1*7%)

Вложенные операторы ЕСЛИ

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

Каждый оператор IF должен быть тщательно «вложен» в другой, чтобы логика была правильной. Например, следующую формулу можно использовать для присвоения оценки, а не результата «сдал/не сдал»:

=IF(C6<70,"F",IF(C6<75,"D",IF(C6<85,"C",IF(C6<95,"B","A"))))

Можно вложить до 64 функций IF. Однако, как правило, для более сложных сценариев следует использовать другие функции, такие как VLOOKUP или XLOOKUP, поскольку они могут обрабатывать больше условий  более простым способом.

Примечание. Более новая функция IFS предназначена для обработки нескольких условий без вложенности. Однако функция поиска, такая как VLOOKUP или XLOOKUP, обычно является лучшим подходом, если только логика для каждого условия не является пользовательской.

IF с AND, OR, NOT

Функцию ЕСЛИ можно комбинировать с функцией AND и функцией OR. Например, чтобы вернуть «ОК», когда A1 находится между 7 и 10, вы можете использовать следующую формулу:

=IF(AND(A1>7,A1<10),"OK","")

Перевод: если A1 больше 7 и меньше 10, вернуть «ОК». В противном случае ничего не возвращать («»).

Чтобы вернуть B1+10, когда A1 «красный» или «синий», вы можете использовать функцию ИЛИ следующим образом:

=IF(OR(A1="red",A1="blue"),B1+10,B1)

Перевод: если A1 красный или синий, вернуть B1+10, иначе вернуть B1.

=IF(NOT(A1="red"),B1+10,B1)

Перевод: если A1 НЕ красный, вернуть B1+10, иначе вернуть B1.

ЕСЛИ ячейка содержит определенный текст

Поскольку функция IF не поддерживает подстановочные знаки, неясно, как настроить функцию для проверки наличия определенной подстроки в ячейке. Обычный подход состоит в том, чтобы объединить функцию ISNUMBER и функцию SEARCH для создания логического теста, подобного этому:

=ISNUMBER(SEARCH(substring,A1)) // returns TRUE or FALSE

Например, чтобы проверить наличие подстроки «xyz» в ячейке A1, вы можете использовать следующую формулу:

=IF(ISNUMBER(SEARCH("xyz",A1)),"Yes","No")

Примечания

  • Функция IF в Excel не чувствительна к регистру.
  • Для условного подсчета значений используйте функции COUNTIF или  COUNTIFS.
  • Для условного суммирования значений используйте функции SUMIF или  SUMIFS.
  • Если какие-либо аргументы функции представлены в виде массивов, функция IF будет оценивать каждый элемент массива.
Автор А. Днепров

Обучаю основам работы с офисными программами.

Функция IF в Excel
12.1 Вставка обьектов ИНТЕРНЕТА