Зміст
У цьому уроці ми розглянемо, як використовувати функцію ISERROR з VLOOKUP в Excel для продуктивної роботи з усіма видами помилок.
VLOOKUP - одна з найбільш заплутаних функцій Excel, з якою виникає багато проблем. У якій би таблиці ви не переглядали, помилки #N/A є звичайним явищем, а #NAME і #VALUE також з'являються час від часу. Використання VLOOKUP з ISERROR може допомогти вам виявити всі можливі помилки і обробити їх у спосіб, найбільш відповідний для вашої ситуації.
Чому VLOOKUP видає помилку?
Найпоширенішою помилкою у формулах VLOOKUP є #N/A виникає, коли шукане значення не знайдено. Це може статися з різних причин:
- Шукане значення не існує в масиві пошуку.
- Неправильно вказано шукане значення.
- У значенні пошуку або стовпчику пошуку є початкові або кінцеві пробіли.
- Стовпець пошуку не є крайнім лівим стовпцем табличного масиву.
Крім того, ви можете зіткнутися з #ЦІННІСТЬ! наприклад, коли шукане значення містить більше 255 символів. Якщо в імені функції допущена орфографічна помилка, a #ІМ'Я? з'явиться помилка.
Для повної інформації, будь ласка, дивіться нашу попередню публікацію про те, чому Excel VLOOKUP не працює.
IF ISERROR VLOOKUP формула для заміни помилок користувацьким текстом
Щоб замаскувати всі можливі помилки, які може викликати VLOOKUP, ви можете розмістити його всередині формули IF ISERROR ось так:
IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))Для прикладу наведемо назви предметів, з яких студенти групи А провалили тести:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
В результаті ви отримуєте купу помилок #N/A, що може створити враження, що формула зіпсована.
Насправді, ці помилки просто вказують на те, що деякі з шуканих значень (A3:A14) не знайдені в списку пошуку (D3:D9). Щоб чітко передати цю ідею, вкладіть формулу VLOOKUP в конструкцію IF ISERROR:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ні", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Це дозволить виявити помилки і повернути ваше власне текстове повідомлення:
Поради та примітки:
- Головною перевагою цієї формули є те, що вона добре працює в всі версії від Excel 2000 до Excel 365. У сучасних версіях доступні простіші та компактніші альтернативи.
- Функція ISERROR фіксує абсолютно всі помилки Наприклад, #N/A, #NAME, #VALUE і т.д. Якщо ви хочете відобразити спеціальне повідомлення тільки в тому випадку, якщо шукане значення не знайдено (помилка #N/A), використовуйте IF ISNA VLOOKUP (у всіх версіях) або IFNA VLOOKUP (в Excel 2013 і новіших версіях).
ISERROR VLOOKUP для повернення порожньої комірки в разі помилки
Щоб мати порожню комірку при виникненні помилки, зробіть так, щоб ваша формула повертала порожній рядок ("") замість користувацького тексту:
IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))У нашому випадку формула має такий вигляд:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Результат очікуваний - порожня комірка, якщо прізвище студента не знайдено в таблиці пошуку.
Порада. Аналогічним чином можна замінити помилки VLOOKUP на нулі, тире або будь-який інший символ, який вам подобається. Просто використовуйте потрібний символ замість порожнього рядка.
IF ISERROR VLOOKUP формула Так/Ні
У певній ситуації ви можете шукати щось, але замість того, щоб тягнути сірники, просто хочете повернутися назад Так (або інший текст, якщо знайдено шукане значення) та Ні (якщо шукане значення не знайдено). Для цього можна скористатися такою загальною формулою:
У нашому прикладі набору даних припустимо, що ви хочете знати, які студенти не склали тест, а які склали. Для цього подайте вже знайому формулу ISERROR VLOOKUP до логічного тесту IF і скажіть йому виводити "Ні", якщо значення не знайдено (ISERROR VLOOKUP повертає значення TRUE), "Так", якщо знайдено (ISERROR VLOOKUP повертає значення FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ні", "Так")
Альтернативи пошуку помилок
Комбінація IF ISERROR є найстарішою перевіреною часом технікою для перегляду без помилок в Excel. З часом з'явилися нові функції, що забезпечують більш прості способи виконання того ж завдання. Нижче ми обговоримо інші можливі рішення і те, коли кожне з них найкраще застосовувати.
IFERROR VLOOKUP
Доступно в Excel 2007 і вище
Починаючи з версії 2007 року, в Excel є спеціальна функція, яка називається ЕСЛИ ПОМИЛКА, для перевірки формули на наявність помилок і повернення власного тексту (або запуску альтернативної формули) у разі виявлення помилки.
IFERROR(VLOOKUP(...), " text_if_error ")Реальна формула виглядає наступним чином:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
На перший погляд, це виглядає як скорочений аналог формули IF ISERROR VLOOKUP, але є суттєва відмінність:
- IFERROR VLOOKUP передбачає, що ви завжди хочете отримати результат VLOOKUP, якщо він не є помилкою.
- IF ISERROR VLOOKUP дозволяє вказати, що повертати в разі помилки, а що - якщо помилки немає.
Для більш детальної інформації, будь ласка, дивіться Використання IFERROR з VLOOKUP в Excel.
IF ISNA VLOOKUP
Працює в Excel 2000 і новіших версіях
У ситуації, коли потрібно відловлювати тільки #N/A, не відловлюючи інші помилки, стане в нагоді функція ISNA. Синтаксис аналогічний синтаксису функції IF ISERROR VLOOKUP:
IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))Але за певних обставин ця, здавалося б, ідентична формула може давати різні результати:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ні", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
На зображенні нижче комірка A13 містить багато пробілів, через що загальна довжина шуканого значення перевищує 255 символів. В результаті формула видає помилку #VALUE!, звертаючи увагу на цю комірку і закликаючи розібратися в причинах. ISERROR VLOOKUP в цьому випадку поверне "No", що тільки затуманить проблему і видасть абсолютно неправильний результат.
Коли застосовувати:
Ця формула чудово працює в ситуації, коли ви хочете вивести якийсь текст тільки тоді, коли шукане значення не знайдено, і не хочете маскувати основні проблеми з самою формулою VLOOKUP, наприклад, коли неправильно набрано ім'я функції (#NAME?) або не вказано повний шлях до робочої книги пошуку (#VALUE!).
Для більш детальної інформації, будь ласка, дивіться функцію ISNA в Excel з прикладами формул.
IFNA VLOOKUP
Доступно в Excel 2013 і вище
Це сучасна заміна комбінації IF ISNA, яка дозволяє легше обробляти помилки #N/A.
IFNA(VLOOKUP(...), " text_if_error ")Ось скорочений еквівалент нашої формули IF ISNA VLOOKUP:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Ні")
Коли застосовувати:
Це ідеальне рішення для відстеження та обробки помилок #N/A в сучасних версіях Excel (2013 - 365).
Для більш детальної інформації див. функцію IFNA в Excel.
XLOOKUP
Підтримується в Excel 2021 та Excel 365
Завдяки вбудованій функції "якщо помилка", функція XLOOKUP є найпростішим способом пошуку без помилок #N/A в Excel. Просто введіть зручний для користувача текст в необов'язковий 4-й аргумент з ім'ям if_not_found .
Наприклад:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "Ні")
Обмеження: Ловить тільки помилки #N/A, ігноруючи інші типи.
Для отримання додаткової інформації ознайомтеся з функцією XLOOKUP в Excel.
Як бачите, Excel надає досить багато різних можливостей для виправлення помилок VLOOKUP. Сподіваюся, цей урок пролив світло на те, як ефективно ними користуватися. Дякую за увагу і сподіваюся побачити вас на нашому блозі наступного тижня!
Доступні для завантаження
Помилка з прикладами VLOOKUP (файл .xlsx)