IF VLOOKUP в Excel: формула VLOOKUP з умовою If

  • Поділитися Цим
Michael Brown

У посібнику показано, як поєднати V Ви також дізнаєтеся, як використовувати формули IF ISNA VLOOKUP для заміни помилок #N/A власним текстом, нулем або порожньою коміркою, а також як замінити їх власним текстом, нулем або порожньою коміркою.

Хоча функції VLOOKUP і IF корисні самі по собі, разом вони дають ще більш цінний досвід. Цей підручник передбачає, що ви добре пам'ятаєте синтаксис цих двох функцій, в іншому випадку ви можете освіжити свої знання, перейшовши за наведеними вище посиланнями.

    Vlookup з оператором If: повернення True/False, Yes/No і т.д.

    Одним з найпоширеніших сценаріїв поєднання If та Vlookup є порівняння значення, що повертається Vlookup зі значенням-зразком і повернення Так / Ні або Правда / Неправда в результаті.

    У більшості випадків добре підійде наступна загальна формула:

    IF(VLOOKUP(...) = значення , TRUE, FALSE)

    У перекладі на просту англійську мову формула дає вказівку Excel повернути Правда якщо Vlookup true (тобто дорівнює вказаному значенню). Якщо Vlookup false (не дорівнює вказаному значенню), формула повертає Неправда. .

    Нижче ви знайдете кілька реальних застосувань цієї формули 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, "Розпродано", "На складі")

    Також можна порівняти значення, яке повертає 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 "Если".

    Приклад 3: Перегляд значень у короткому списку

    Щоб порівняти кожну комірку цільового стовпця з іншим списком і повернути Правда або Так якщо знайдено збіг, Неправда. або Ні в іншому випадку використовуйте цю загальну формулу IF ISNA VLOOKUP:

    ЕСЛИ(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 If 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(ISNA(VLOOKUP(F1,$A$2:$C$10.3,FALSE)), "Не знайдено", VLOOKUP(F1,$A$2:$C$10.3,FALSE))

    Якщо ім'я знайдено, повертається відповідна сума продажу:

    Якщо шукане значення не знайдено, то виконується функція Не знайдено замість помилки #N/A з'являється повідомлення #N/A:

    Як працює ця формула

    Логіка формули дуже проста: ви використовуєте функцію ISNA для перевірки Vlookup на наявність помилок #N/A. Якщо виникає помилка, ISNA повертає значення TRUE, інакше FALSE. Вищевказані значення надходять на логічний тест функції IF, яка виконує одне з наступних дій:

    • Якщо логічна перевірка пройдена вірно (помилка #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

    При роботі з числовими значеннями може знадобитися повернути нуль, якщо шукане значення не знайдено. Для цього використовуйте формулу ЕСЛИ ISNA VLOOKUP, розглянуту вище, з невеликою модифікацією: замість текстового повідомлення введіть 0 в поле value_if_true аргумент функції 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 з індексним збігом - лівий перегляд з умовою If

    Досвідчені користувачі Excel знають, що функція VLOOKUP - це не єдиний спосіб вертикального пошуку в Excel. Комбінація INDEX MATCH також може бути використана для цієї мети, і вона ще більш потужна і універсальна. Хороша новина полягає в тому, що Index Match може працювати разом з IF точно так само, як Vlookup.

    Наприклад, у вас є номери замовлень у колонці А та імена продавців у колонці Б. Ви шукаєте формулу, щоб витягнути номер замовлення для конкретного продавця.

    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)), "Не знайдено")

    Аналогічним чином можна використовувати індексний збіг і в інших формулах If.

    Ось як можна використовувати Vlookup і оператор IF разом в Excel. Щоб ближче познайомитися з формулами, розглянутими в цьому уроці, ви можете завантажити наш зразок робочого зошита нижче. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!

    Практичний посібник для завантаження

    Excel IF Vlookup - приклади формул (файл .xlsx)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.