Оглавление
В учебнике показано, как объединить V LOOKUP и функция IF вместе для v-lookup с условием if в Excel. Вы также узнаете, как использовать формулы IF ISNA VLOOKUP для замены ошибок #N/A собственным текстом, нулем или пустой ячейкой.
Хотя функции VLOOKUP и IF полезны сами по себе, вместе они дают еще более ценный опыт. Этот учебник предполагает, что вы хорошо помните синтаксис этих двух функций, в противном случае вам стоит подтянуть свои знания, перейдя по приведенным выше ссылкам.
Vlookup с оператором If: возврат True/False, Yes/No и т.д.
Один из наиболее распространенных сценариев, когда вы объединяете If и Vlookup вместе, заключается в сравнении значения, возвращаемого Vlookup, со значением образца и возвращением Да / Нет или Правда / Ложь как результат.
В большинстве случаев хорошо работает следующая общая формула:
IF(VLOOKUP(...) = значение , TRUE, FALSE)В переводе на простой английский язык, формула предписывает Excel вернуть Правда если Vlookup истинен (т.е. равен указанному значению). Если Vlookup ложен (не равен указанному значению), формула возвращает Ложь .
Ниже вы найдете несколько реальных случаев использования формулы IF Vlookup в реальной жизни.
Пример 1. Поиск определенного значения
Допустим, у вас есть список товаров в столбце A и количество в столбце B. Вы создаете приборную панель для своих пользователей, и вам нужна формула, которая будет проверять количество товара в E1 и сообщать пользователю, есть ли товар на складе или он распродан.
Вы получаете количество с помощью обычного Vlookup с формулой точного соответствия, например, так:
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
Затем напишите оператор IF, который сравнивает результат Vlookup с нулем и возвращает "Нет", если он равен 0, и "Да" в противном случае:
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Нет", "Да")
Вместо Да/Нет , вы можете вернуть ИСТИНА/ЛОЖЬ или В наличии/продан или любые другие два варианта. Например:
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Sold out", "In stock")
Вы также можете сравнить значение, возвращаемое Vlookup, с образцом текст В этом случае обязательно заключите текстовую строку в кавычки, например, так:
=IF(VLOOKUP(E1,$A$2:$B$10,2)="текст образца",TRUE,FALSE)
Пример 2. Сравнение результата Vlookup с другой ячейкой
Другой типичный пример использования Vlookup с условием If в Excel - сравнение результата Vlookup со значением в другой ячейке. Например, мы можем проверить, больше или равно ли оно числу в ячейке G2:
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Да!", "Нет")
А вот наша формула If с Vlookup в действии:
Аналогичным образом можно использовать любой другой логический оператор вместе со ссылкой на ячейку в формуле Excel If Vlookup.
Пример 3. Значения Vlookup в более коротком списке
Для сравнения каждой ячейки в целевом столбце с другим списком и возврата Правда или Да если совпадение найдено, Ложь или Нет В противном случае используйте эту общую формулу IF ISNA VLOOKUP:
IF(ISNA( VLOOKUP(...)), "Нет", "Да")Если Vlookup приводит к ошибке #N/A, формула возвращает "Нет", то есть искомое значение не найдено в списке поиска. Если соответствие найдено, возвращается "Да". Например:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Нет", "Да")
Если ваша бизнес-логика требует противоположных результатов, просто поменяйте местами "Да" и "Нет", чтобы изменить логику формулы:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Да", "Нет")
Excel Если формула Vlookup для выполнения различных вычислений
Помимо отображения собственных текстовых сообщений, функция If с Vlookup может выполнять различные вычисления на основе заданных вами критериев.
Продолжая наш пример, рассчитаем комиссию конкретного продавца (F1) в зависимости от его эффективности: 20% комиссии для тех, кто заработал $200 и больше, 10% для всех остальных.
Для этого необходимо проверить, больше или равно ли значение, возвращаемое Vlookup, 200, и если да, то умножить его на 20%, в противном случае - на 10%:
=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)
Где A2:A10 - имена продавцов, а C2:C10 - продажи.
IF ISNA VLOOKUP для скрытия ошибок #N/A
Если функция VLOOKUP не может найти указанное значение, она выдает ошибку #N/A. Чтобы поймать эту ошибку и заменить ее своим текстом, вставьте формулу Vlookup в логический тест функции IF, как показано ниже:
IF(ISNA(VLOOKUP(...)), "Не найдено", VLOOKUP(...))Естественно, вы можете набрать любой текст вместо "Не найдено".
Предположим, у вас есть список имен продавцов в одном столбце и суммы продаж в другом столбце. Ваша задача - вытащить число, соответствующее имени, которое пользователь вводит в F1. Если имя не найдено, выведите сообщение об этом.
При наличии имен в A2:A10 и сумм C2:C10 задачу можно решить с помощью следующей формулы If Vlookup:
=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Не найдено", VLOOKUP(F1,$A$2:$C$10,3,FALSE))
Если название найдено, возвращается соответствующая сумма продаж:
Если искомое значение не найдено, то в поле Не найдено вместо ошибки #N/A появляется сообщение:
Как работает эта формула
Логика формулы очень проста: вы используете функцию ISNA для проверки Vlookup на наличие ошибок #N/A. Если ошибка имеет место, ISNA возвращает TRUE, иначе FALSE. Вышеуказанные значения идут на логическую проверку функции IF, которая делает одно из следующих действий:
- Если логический тест TRUE (ошибка #N/A), на экран выводится сообщение.
- Если логический тест равен FALSE (значение поиска найдено), Vlookup возвращает совпадение в обычном режиме.
IFNA VLOOKUP в новых версиях Excel
Начиная с Excel 2013, вы можете использовать функцию IFNA вместо IF ISNA для перехвата и обработки ошибок #N/A:
IFNA(VLOOKUP(...), " Не найдено ")В нашем примере формула будет иметь следующий вид:
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Не найдено")
Совет. Если вы хотите отлавливать всевозможные ошибки, а не только #N/A, используйте VLOOKUP в сочетании с функцией IFERROR. Более подробную информацию можно найти здесь: IFERROR VLOOKUP в Excel.
Excel Vlookup: если не найден, возвращается 0
При работе с числовыми значениями вы можете захотеть вернуть ноль, когда искомое значение не найдено. Для этого используйте формулу IF ISNA VLOOKUP, рассмотренную выше, с небольшой модификацией: вместо текстового сообщения введите 0 в строку значение_если_истина аргумент функции IF:
IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))В нашей таблице-образце формула выглядит следующим образом:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
В последних версиях Excel 2016 и 2013 вы можете снова использовать комбинацию IFNA Vlookup:
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup: если ячейка не найдена, возвращается пустая ячейка
Это еще одна вариация оператора "Vlookup if then": ничего не возвращать, если значение поиска не найдено. Для этого проинструктируйте свою формулу возвращать пустую строку ("") вместо ошибки #N/A:
IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))Ниже приведена пара примеров полных формул:
Для всех версий Excel:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Для Excel 2016 и Excel 2013:
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
If with Index Match - левый vlookup с условием If
Опытные пользователи Excel знают, что функция VLOOKUP - не единственный способ вертикального поиска в Excel. Для этой цели можно также использовать комбинацию INDEX MATCH, которая является еще более мощной и универсальной. Хорошая новость заключается в том, что Index Match может работать вместе с IF точно так же, как и Vlookup.
Например, у вас есть номера заказов в столбце A и имена продавцов в столбце B. Вы ищете формулу для извлечения номера заказа для определенного продавца.
Vlookup не может быть использован в этом случае, поскольку он не может искать справа налево. Index Match будет работать без проблем до тех пор, пока искомое значение находится в столбце поиска. Если это не так, появится ошибка #N/A. Чтобы заменить стандартное обозначение ошибки своим собственным текстом, вложите Index Match внутрь IF ISNA:
=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Не найдено", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))))
В Excel 2016 и 2016 можно использовать IFNA вместо IF ISNA, чтобы сделать формулу более компактной:
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Не найдено")
Аналогичным образом можно использовать Index Match в других формулах If.
Вот так можно использовать Vlookup и оператор IF вместе в Excel. Чтобы поближе познакомиться с формулами, рассмотренными в этом уроке, вы можете скачать наш образец рабочей книги ниже. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Рабочая тетрадь для тренировок для скачивания
Excel IF Vlookup - примеры формул (файл.xlsx)