Як використовувати функцію IFNA в Excel з прикладами

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

Ви отримуєте багато помилок #N/A у своїх робочих таблицях і хочете дізнатися, чи є спосіб відобразити замість них користувацький текст? Формула IFNA - це рішення, яке вам потрібно.

Коли формула Excel не може ідентифікувати або знайти щось, вона видає помилку #N/A. Щоб відловити таку помилку і замінити її зручним для користувача повідомленням, ви можете використовувати функцію IFNA. Іншими словами, #N/A - це спосіб Excel сказати, що значення, яке ви шукаєте, не присутнє в наборі даних, на який ви посилаєтеся. IFNA - це ваш спосіб відловити та обробити цю помилку.

    Функція IFNA в Excel

    Функція Excel IFNA призначена для виявлення та обробки помилок #N/A. Якщо формула обчислює #N/A, IFNA відстежує цю помилку і замінює її на вказане вами значення; в іншому випадку повертає нормальний результат формули.

    Синтаксис IFNA

    Синтаксис функції IFNA наступний:

    IFNA(значення, значення_якщо_на)

    Де:

    Значення (обов'язково) - формула, значення або посилання для перевірки на наявність помилки #N/A.

    Значення_якщо_на (обов'язкове) - значення, що повертається у разі виявлення помилки #N/A.

    Вказівки по використанню

    • Функція IFNA обробляє тільки #N/A, не пригнічуючи інші помилки.
    • У разі, якщо значення аргумент - це формула масиву IFNA повертає масив результатів, по одному на комірку, як показано в цьому прикладі.

    Наявність IFNA

    Функція IFNA була представлена в Excel 2013 і доступна в усіх наступних версіях, включаючи Excel 2016, Excel 2019, Excel 2021 та Microsoft 365.

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

    Як використовувати функцію IFNA в Excel

    Щоб ефективно використовувати IFNA в Excel, дотримуйтесь цього загального підходу:

    1. У першому аргументі ( значення ), поставте формулу, на яку вплинула помилка #N/A.
    2. У другому аргументі ( значення_якщо_на ) замість стандартного повідомлення про помилку введіть текст, який потрібно повернути. Щоб повернути порожню комірку, якщо нічого не знайдено, введіть порожній рядок (""").

    Повернутися власний текст загальна формула має вигляд:

    IFNA( формула (), " власний текст ")

    Щоб повернути порожня клітинка загальна формула має вигляд:

    IFNA( формула (), "")

    Розглянемо, як це працює на простому прикладі. У таблиці нижче, припустимо, ви хочете дізнатися, яке місце серед інших займає оцінка певного студента. Оскільки дані відсортовані за Оцінка стовпчик від найвищого до найнижчого, то ранг буде відповідати відносному положенню студента в таблиці. А щоб отримати позицію, можна скористатися функцією СООТВЕТСТВИЕ в її найпростішому вигляді:

    =MATCH(E1, A2:A10, 0)

    Оскільки шукане значення (Neal) недоступне в масиві пошуку (A2:A10), виникає помилка #N/A.

    Зустрівшись з цією помилкою, недосвідчені користувачі можуть подумати, що у формулі щось не так, і до вас, як до творця книги, виникне маса питань. Щоб уникнути цього, можна явно вказати, що формула коректна, просто вона не може знайти значення, яке її просять шукати. Отже, ви вкладаєте в перший аргумент IFNA формулу МАТЧ, а в другому аргументі вводите свій власнийтекст "Не знайдено" в нашому випадку:

    =IFNA(MATCH(E1, A2:A10, 0, "Не знайдено")

    Тепер замість стандартного позначення помилки в комірці відображається власний текст, який інформує користувача про те, що шукане значення відсутнє в наборі даних:

    Як використовувати IFNA з VLOOKUP

    Найчастіше помилка #N/A виникає у функціях, які шукають щось, таких як VLOOKUP, HLOOKUP, LOOKUP і MATCH. Наведені нижче приклади охоплюють кілька типових випадків використання.

    Приклад 1. Базова формула IFNA VLOOKUP

    Щоб відстежити помилки #N/A, які виникають, коли VLOOKUP не може знайти збіг, перевірте його результат за допомогою IFNA і вкажіть значення, яке буде відображено замість помилки. Поширеною практикою є обернення функції IFNA навколо існуючої формули VLOOKUP за допомогою цього синтаксису:

    IFNA(VLOOKUP(), " ваш текст ")

    У нашому прикладі таблиці припустимо, що ви хочете отримати оцінку певного студента (E1). Для цього ви використовуєте класичну формулу VLOOKUP:

    =VLOOKUP(E1, A2:B10, 2, FALSE)

    Проблема в тому, що Ніл не складав іспит, тому його прізвища немає в списку, і очевидно, що VLOOKUP не знайшов збігу.

    Щоб приховати помилку, ми обертаємо VLOOKUP в IFNA ось так:

    =IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Не склав іспит")

    Тепер результат не виглядає таким страхітливим для користувача і є набагато більш інформативним:

    Приклад 2: IFNA VLOOKUP для пошуку на декількох аркушах

    Функція IFNA також стане в нагоді для виконання так званого послідовний або прикутий пошук на декількох аркушах або різних книгах. Ідея полягає в тому, що ви вкладаєте кілька різних формул IFNA(VLOOKUP(...)) одна в іншу таким чином:

    IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), IFNA(VLOOKUP(...), "Не знайдено")))

    Якщо первинна функція пошуку нічого не знаходить, то функція IFNA виконує наступну функцію пошуку, поки не буде знайдено потрібне значення. Якщо всі пошуки не дають результату, то формула повертає вказаний текст.

    Припустимо, що у вас є бали різних класів, перераховані на різних аркушах (названих Клас А , Клас B і Клас C Ваша мета - отримати оцінку конкретного студента, прізвище якого введено у комірку B1 поточного робочого аркуша. Для виконання завдання скористайтеся наступною формулою:

    =IFNA(VLOOKUP(B1, 'Клас A'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Клас B'!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, 'Клас C'!A2:B5, 2, FALSE), "Not found")))

    Формула послідовно шукає вказане ім'я на трьох різних аркушах у порядку вкладеності VLOOKUP'ів і виводить перший знайдений збіг:

    Приклад 3. іфнс з відповідністю індексу

    Аналогічним чином IFNA може відловлювати помилки #N/A, що генеруються іншими функціями пошуку. Для прикладу розглянемо її використання разом з формулою INDEX MATCH:

    =IFNA(INDEX(B2:B10, MATCH(E1, A2:A10, 0)), "Не знайдено")

    Суть формули така ж, як і у всіх попередніх прикладах - INDEX MATCH виконує пошук, а IFNA оцінює результат і видає помилку #N/A, якщо значення, на яке робиться посилання, не знайдено.

    IFNA для повернення декількох результатів

    У випадку, якщо внутрішня функція (тобто формула, розміщена в значення аргумент) повертає декілька значень, то IFNA перевірить кожне повернуте значення окремо і виведе масив результатів. Наприклад, якщо повернути декілька значень, то IFNA перевірить кожне повернуте значення окремо і виведе масив результатів:

    =IFNA(VLOOKUP(D2:D4, A2:B10, 2, FALSE), "Не знайдено")

    У динамічних масивах Excel (Microsoft 365 і Excel 2021) звичайна формула у верхній комірці (E2) автоматично розливає всі результати в сусідні комірки (в термінах Excel це називається діапазоном розливу).

    У додинамічних версіях (Excel 2019 і нижче) аналогічного ефекту можна досягти за допомогою формули багатокоміркового масиву, яка завершується комбінацією клавіш Ctrl + Shift + Enter.

    У чому різниця між IFNA та IFERROR?

    Залежно від першопричини проблеми, формула Excel може викликати різні помилки, такі як #N/A, #NAME, #VALUE, #REF, #DIV/0, #NUM та ін. Функція IFERROR відловлює всі ці помилки, в той час як IFNA обмежується тільки #N/A. Яку з них краще вибрати? Це залежить від ситуації.

    Якщо ви хочете придушити будь-яка помилка Особливо корисна в складних розрахунках, коли формула включає в себе декілька функцій, які можуть генерувати різні похибки.

    З функції пошуку краще використовувати IFNA, оскільки він виводить користувацький результат тільки тоді, коли шукане значення не знайдено, і не приховує глибинних проблем з самою формулою.

    Щоб проілюструвати різницю, повернемося до нашої базової формули IFNA VLOOKUP і "випадково" неправильно напишемо назву функції (VLOKUP замість VLOOKUP).

    =IFNA(VLOKUP(E1, A2:B10, 2, FALSE), "Не склав іспит")

    IFNA не пригнічує цю помилку, тому чітко видно, що щось не так з однією з назв функцій:

    Тепер давайте подивимося, що буде, якщо використовувати IFERROR:

    =IFERROR(VLOKUP(E1, A2:B10, 2, FALSE), "Не склав іспит")

    Хм... там написано, що Олівія не склала іспит, що не відповідає дійсності! Це тому, що функція IFERROR перехоплює помилку #NAME? і повертає замість неї користувацький текст. В даній ситуації вона не тільки повертає невірну інформацію, але й затушовує проблему з формулою.

    Ось як використовувати формулу IFNA в Excel. Дякую за увагу і чекаю вас на нашому блозі наступного тижня!

    Доступні для завантаження

    Приклади формул IFNA в Excel (файл .xlsx)

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