IF VLOOKUP в Excel: формула Vlookup с условием If

  • Поделись Этим
Michael Brown

В учебнике показано, как объединить 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)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.