Зміст
У підручнику показано, як використовувати IFERROR в Excel для виявлення помилок і заміни їх порожньою коміркою, іншим значенням або спеціальним повідомленням. Ви дізнаєтеся, як використовувати функцію IFERROR з Vlookup і Index Match, і як вона порівнюється з IF ISERROR і IFNA.
"Дайте мені місце, де я буду стояти, і я зрушу землю", - сказав колись Архімед. "Дайте мені формулу, і я змушу її видати помилку", - скаже користувач Excel. У цьому уроці ми не будемо розглядати, як повернути помилки в Excel, а навчимося запобігати їх виникненню, щоб зберегти ваші робочі листи чистими, а формули прозорими.
Функція ЕСЛИ - синтаксис і основні способи використання в Excel
Функція IFERROR в Excel призначена для відстеження та управління помилками у формулах і обчисленнях. Зокрема, IFERROR перевіряє формулу, і якщо вона містить помилку, повертає інше значення, вказане вами; в іншому випадку, повертає результат формули.
Синтаксис функції ЕСЛИ ПОМИЛКА в Excel наступний:
IFERROR(value, value_if_error)Де:
- Значення (обов'язково) - що перевіряти на наявність помилок. Це може бути формула, вираз, значення або посилання на комірку.
- Значення_якщо_помилка (обов'язково) - що повернути у разі виявлення помилки. Це може бути порожній рядок (пуста комірка), текстове повідомлення, числове значення, інша формула або розрахунок.
Наприклад, при діленні двох стовпчиків чисел можна отримати купу різних помилок, якщо в одному зі стовпчиків є порожні клітинки, нулі або текст.
Щоб цього не сталося, використовуйте функцію IFERROR для відстеження та обробки помилок так, як вам потрібно.
Якщо помилка, то пробіл
Передати порожній рядок ("") в рядок значення_якщо_помилка аргумент для повернення порожньої комірки у випадку виявлення помилки:
=IFERROR(A2/B2, "")
Якщо помилка, то вивести повідомлення
Ви також можете відобразити власне повідомлення замість стандартного повідомлення про помилку Excel:
=IFERROR(A2/B2, "Помилка в розрахунку")
5 речей, які варто знати про функцію IFERROR в Excel
- Функція IFERROR в Excel обробляє всі типи помилок, включаючи #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! і #VALUE!.
- Залежно від змісту значення_якщо_помилка IFERROR може замінити помилки власним текстовим повідомленням, числом, датою або логічним значенням, результатом іншої формули або порожнім рядком (порожньою коміркою).
- У разі, якщо значення аргумент є порожньою коміркою, це сприймається як порожній рядок ('''), але не є помилкою.
- Функція IFERROR була введена в Excel 2007 і доступна в усіх наступних версіях Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 і Excel 365.
- Для відстеження помилок в Excel 2003 і більш ранніх версіях використовуйте функцію ISERROR в поєднанні з IF, як показано в цьому прикладі.
Приклади формули IFERROR
Наступні приклади показують, як використовувати функцію ПОМИЛКА в Excel у поєднанні з іншими функціями для виконання більш складних завдань.
Помилка Excel з Vlookup
Одне з найпоширеніших застосувань функції IFERROR - це повідомлення користувачам про те, що значення, яке вони шукають, не існує в наборі даних. Для цього ви обертаєте формулу VLOOKUP в IFERROR таким чином:
IFERROR(VLOOKUP( ... ), "Не знайдено")Якщо шуканого значення немає в таблиці, в якій ви шукаєте, звичайна формула Vlookup поверне помилку #N/A:
Для спокою користувачів, оберніть VLOOKUP в IFERROR і відобразіть більш інформативне та зручне для користувача повідомлення:
=IFERROR(VLOOKUP(A2, 'Таблиця пошуку'!$A$2:$B$4, 2,FALSE), "Не знайдено")
На скріншоті нижче показано цю формулу Iferror в Excel:
Якщо ви хочете відловлювати тільки помилки #N/A, а не всі помилки, використовуйте функцію IFNA замість IFERROR.
Для отримання додаткових прикладів формул Excel IFERROR VLOOKUP, будь ласка, перегляньте ці навчальні посібники:
- Iferror з Vlookup для відстеження та обробки помилок
- Як отримати N-те входження шуканого значення
- Як отримати всі входження шуканого значення
Вкладені функції IFERROR для виконання послідовних Vlookup в Excel
У ситуаціях, коли вам потрібно виконати кілька Vlookup на основі того, чи був попередній Vlookup успішним або невдалим, ви можете вкласти дві або більше функцій IFERROR одна в іншу.
Припустимо, у вас є ряд звітів про продажі з регіональних філій вашої компанії, і ви хочете отримати суму за певним ідентифікатором замовлення. З A2 як значенням пошуку на поточному аркуші, і A2:B5 як діапазон пошуку на 3 аркушах пошуку (Звіт 1, Звіт 2 і Звіт 3), формула буде виглядати наступним чином:
=IFERROR(VLOOKUP(A2,'Звіт 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Звіт 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Звіт 3'!A2:B5,2,0), "not found")))
Результат буде виглядати приблизно так:
Детальне пояснення логіки формули див. у статті Як створювати послідовні Vlookup в Excel.
IFERROR у формулах масивів
Як ви, напевно, знаєте, формули масивів в Excel призначені для виконання декількох обчислень в межах однієї формули. Якщо ви вводите формулу масиву або вираз, який призводить до створення масиву в значення аргументом функції ЕСЛИ, то вона поверне масив значень для кожної комірки у вказаному діапазоні. Нижче наведено приклад, що демонструє деталі.
Припустимо, у вас є Всього у колонці B та Ціна в колонці С, і ви хочете розрахувати Загальна кількість Зробити це можна за допомогою наступних засобів формула масиву, яка ділить кожну комірку діапазону B2:B4 на відповідну комірку діапазону C2:C4, а потім підсумовує результати:
=SUM($B$2:$B$4/$C$2:$C$4)
Формула працює нормально, якщо в діапазоні дільника немає нулів або порожніх клітинок. Якщо є хоча б одне значення 0 або порожня клітинка, повертається помилка #DIV/0!
Для виправлення цієї помилки достатньо виконати ділення у функції IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Формула ділить значення стовпця B на значення стовпця C в кожному рядку (100/2, 200/5 і 0/0) і повертає масив результатів {50; 40; #DIV/0!}. Функція IFERROR відловлює всі помилки #DIV/0! і замінює їх нулями. А функція SUM підсумовує значення в отриманому масиві {50; 40; 0} і виводить кінцевий результат (50+40=90).
Примітка. Нагадуємо, що формули масивів слід завершувати натисканням комбінації клавіш Ctrl + Shift + Enter.
IFERROR vs IF ISERROR
Тепер, коли ви знаєте, як легко використовувати функцію IFERROR в Excel, ви можете задатися питанням, чому деякі люди все ще схиляються до використання комбінації IF ISERROR. Чи є у неї якісь переваги в порівнянні з IFERROR? Ні. У старі добрі часи Excel 2003 і нижче, коли IFERROR не існувало, IF ISERROR був єдиним можливим способом відлову помилок. В Excel 2007 і пізніших версіях це просто трохи складніший спосібдосягти такого ж результату.
Наприклад, для відлову помилок Vlookup можна скористатися однією з наведених нижче формул.
В Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "Не знайдено")У всіх версіях Excel:
IF(ISERROR(VLOOKUP(...)), "Не знайдено", VLOOKUP(...))Зверніть увагу, що у формулі IF ISERROR VLOOKUP потрібно двічі виконати Vlookup. Простою мовою цю формулу можна прочитати наступним чином: Якщо Vlookup дає помилку, повернути "Not found", інакше вивести результат Vlookup.
А ось реальний приклад формули Excel If Iserror Vlookup:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Не знайдено", VLOOKUP(D2, A2:B5,2,FALSE ))
Для отримання додаткової інформації, будь ласка, зверніться до розділу Використання функції ISERROR в Excel.
IFERROR проти IFNA
Функція IFNA, що з'явилася в Excel 2013, є ще однією функцією для перевірки формули на наявність помилок. Її синтаксис схожий на синтаксис функції IFERROR:
IFNA(значення, значення_якщо_на)Чим IFNA відрізняється від IFERROR? Функція IFNA відловлює тільки помилки #N/A в той час як IFERROR обробляє всі типи помилок.
В яких ситуаціях може знадобитися використання IFNA? Коли нерозумно маскувати всі помилки. Наприклад, при роботі з важливими або конфіденційними даними ви можете захотіти попередити про можливі помилки у вашому наборі даних, і стандартні повідомлення про помилки в Excel з символом "#" можуть бути яскравими візуальними індикаторами.
Давайте подивимося, як можна зробити формулу, яка виводить повідомлення "Не знайдено" замість помилки N/A, яка з'являється, коли шукане значення відсутнє в наборі даних, але при цьому звертає вашу увагу на інші помилки Excel.
Припустимо, ви хочете витягнути Qty. з таблиці пошуку в підсумкову таблицю, як показано на скріншоті нижче. Використання формули Excel Iferror Vlookup призведе до естетично приємного результату, який є технічно неправильним, оскільки Лимони існують у пошуковій таблиці:
Щоб перехопити #N/A, але відобразити помилку #DIV/0, використовуйте функцію IFNA в Excel 2013 і Excel 2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Не знайдено")
Або комбінація IF ISNA в Excel 2010 і більш ранніх версіях:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6.4,FALSE)), "Не знайдено", VLOOKUP(F3,$A$3:$D$6.4,FALSE))
Синтаксис формул IFNA VLOOKUP та IF ISNA VLOOKUP аналогічний синтаксису формул IFERROR VLOOKUP та IF ISERROR VLOOKUP, розглянутих раніше.
Як показано на скріншоті нижче, формула Ifna Vlookup повертає "Не знайдено" тільки для елемента, який відсутній в таблиці пошуку ( Персики За Лимони він показує #DIV/0!, вказуючи на те, що в нашій пошуковій таблиці міститься помилка ділення на нуль:
Більш детальну інформацію можна знайти у розділі Використання функції IFNA в Excel.
Кращі практики використання IFERROR в Excel
Ви вже знаєте, що функція ПОМИЛКА - це найпростіший спосіб відловлювати помилки в Excel і маскувати їх порожніми комірками, нульовими значеннями або власними повідомленнями. Однак це не означає, що ви повинні обгортати кожну формулу обробкою помилок. Наступні прості рекомендації допоможуть вам утримати рівновагу.
- Не ловити помилки без причини.
- Найменшу можливу частину формули обертайте в IFERROR.
- Для обробки лише певних помилок використовуйте функцію обробки помилок з меншим обсягом:
- IFNA або IF ISNA для відлову тільки помилок #N/A.
- ISERR для відлову всіх помилок, крім #N/A.
Ось як ви використовуєте функцію IFERROR в Excel для відстеження та обробки помилок. Щоб ближче познайомитися з формулами, розглянутими в цьому підручнику, ви можете завантажити наш зразок книги IFERROR Excel. Дякую за прочитання і сподіваюся побачити вас на нашому блозі на наступному тижні.