Обработка отсутствующих результатов поиска с помощью IFNA
Обрабатывайте только ошибки NA в поиске, оставляя остальные видимыми
«Обработка отсутствующих результатов поиска с помощью IFNA» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.
Зачем нужна IFNA
IFERROR — мощный инструмент, но она скрывает все ошибки. Иногда это слишком много. Если поиск завершается ошибкой из-за некорректных данных, а не из-за отсутствия совпадения, Вы должны увидеть эту проблему, а не спрятать её.
Функция IFNA решает эту задачу. Она обрабатывает только ошибку #N/A, а все остальные ошибки отображаются как обычно.
Поэтому это точный инструмент для поиска: #N/A в таком случае является ожидаемой и безвредной ошибкой, а любая другая ошибка — настоящая проблема, которую стоит увидеть.
Синтаксис IFNA
IFNA выглядит почти так же, как IFERROR, и принимает два аргумента:
- значение формула, которую нужно выполнить
- значение_при_NA что показать, только если результатом является
#N/A
Шаблон выглядит так: =IFNA(your_formula, fallback). Если формула возвращает #N/A, Вы видите запасной вариант. Если она возвращает любую другую ошибку, эта ошибка остаётся видимой.
=IFNA(VLOOKUP(A2,Data!A:B,2,FALSE), "Not found")IFNA и IFERROR: сравнение
Разница имеет значение. Рассмотрим поиск с неверным индексом столбца, из-за которого возникает ошибка #REF!.
IFERRORзаменила бы эту ошибку#REF!запасным вариантом и скрыла бы настоящую проблему.IFNAоставила бы#REF!видимой, поэтому Вы поняли бы, что формулу нужно исправить.
При действительно отсутствующем совпадении обе функции ведут себя одинаково и возвращают понятное сообщение. IFNA просто отказывается маскировать ошибки.
Аккуратный результат поиска
Вот типичный пример использования. Вы ищете имя клиента и хотите показать понятную метку, если имени нет в таблице.
Если клиент действительно отсутствует, Вы получите "Unknown customer". Но если Вы случайно указали не ту таблицу или нарушили индекс столбца, появится исходная ошибка, и Вы сможете её исправить.
Это помогает не доверять незаметно появившимся неверным числам.
=IFNA(VLOOKUP(A2,Customers!A:C,3,FALSE), "Unknown customer")IFNA и XLOOKUP
XLOOKUP также возвращает #N/A, если не находит совпадение, поэтому IFNA хорошо с ней сочетается.
Хотя у XLOOKUP есть собственный встроенный аргумент если_не_найдено, IFNA удобна при редактировании старых формул или когда Вы хотите использовать единый подход для множества поисковых формул.
Оба подхода дают аккуратный результат при отсутствии совпадения и при этом оставляют настоящие ошибки видимыми.
=IFNA(XLOOKUP(A2,Names,Emails), "No email on file")Возврат числа вместо текста
Запасным вариантом также может быть число. Если отсутствующее совпадение должно учитываться как ноль в дальнейших вычислениях, возвращайте 0, а не текст.
Например, если скидка не применяется, разумно по умолчанию возвращать 0, чтобы итоги продолжали вычисляться.
Возврат текста вроде "None" в числовом столбце вызовет ошибки #VALUE! в последующих вычислениях, поэтому тип запасного варианта должен соответствовать назначению ячейки.
=IFNA(VLOOKUP(A2,Discounts!A:B,2,FALSE), 0)Диагностика с помощью IFNA
Во время проверки полезно использовать IFNA вместо IFERROR, пока Вы создаёте формулу.
Поскольку IFNA скрывает только ожидаемую ошибку #N/A, любая неожиданная ошибка, например #VALUE! или #REF!, сразу станет заметной.
Позже можно перейти на IFERROR, если Вы действительно хотите подавлять все ошибки, но начало работы с IFNA помогает раньше обнаружить ошибки.
Сочетание с настоящим вычислением
Можно использовать IFNA вокруг поиска, результат которого участвует в более крупной формуле. В этом примере при отсутствии цены используется ноль, после чего количество умножается на него.
Если цена найдена, Вы получаете настоящую сумму по строке. Если товара нет в таблице цен, цена становится равной 0, и сумма по строке также равна 0, а любая структурная ошибка по-прежнему отображается.
Так лист продаж остаётся одновременно аккуратным и надёжным.
=IFNA(VLOOKUP(A2,Prices!A:B,2,FALSE),0) * C2Примечание о доступности
IFNA доступна в современных версиях Excel и Google Таблицах, поэтому работает в большинстве электронных таблиц, которыми Вы будете пользоваться сегодня.
В очень старых версиях Excel её может не быть. В таких случаях её обычно имитируют, объединяя IF с ISNA, которая проверяет именно ошибку #N/A.
В следующем уроке Вы познакомитесь с проверками ошибок семейства IS, которые дают ещё более точный контроль.
=IF(ISNA(VLOOKUP(A2,Data!A:B,2,0)), "Not found", VLOOKUP(A2,Data!A:B,2,0))IFNA для целого столбца
IFNA особенно полезна, когда Вы протягиваете формулу поиска вниз на сотни строк. Некоторые ключи совпадут, а некоторые — нет, и для отсутствующих совпадений Вам нужна аккуратная метка.
При протягивании этой формулы вниз для известных магазинов отображается настоящий регион, а для магазинов, которых ещё нет в главном списке, — "Region TBD".
Поскольку IFNA оставляет другие ошибки видимыми, одна сломанная ссылка в верхней части столбца всё равно предупредит Вас о проблеме, а не скроется за меткой.
=IFNA(VLOOKUP(A2,Stores!A:C,3,FALSE), "Region TBD")Выбор между IFNA и IFERROR
Сделать выбор помогает простое правило:
- Используйте IFNA для поиска, если хотите обрабатывать отсутствующие совпадения, но при этом видеть настоящие ошибки.
- Используйте IFERROR, когда любая ошибка ожидаема и не представляет опасности, например при вычислении отношений деления.
IFNA — более осторожный и точный вариант. Она скрывает только один конкретный случай, а остальные ошибки оставляет Вам для исправления.
Быстрая проверка
Проверьте, насколько Вы поняли IFNA.
Повторение: IFNA
Вы освоили специализированную функцию для обработки результатов поиска:
=IFNA(value, value_if_na)обрабатывает только ошибку #N/A.- Все остальные ошибки остаются видимыми, поэтому настоящие ошибки в формулах не скрываются.
- Это безопасный выбор для отсутствующих совпадений при использовании VLOOKUP и XLOOKUP.
- Согласуйте тип резервного значения — текст или число — с тем, как ячейка используется дальше.
Далее Вы изучите ISERROR и родственные функции, чтобы проверять наличие ошибок перед дальнейшими действиями.
Изучай Excel с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 30
- Уроки
- 120
Часто задаваемые вопросы
Урок «Обработка отсутствующих результатов поиска с помощью IFNA» бесплатный?
Да — полный текст урока «Обработка отсутствующих результатов поиска с помощью IFNA» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.
Чему я научусь в уроке «Обработка отсутствующих результатов поиска с помощью IFNA»?
Обрабатывайте только ошибки NA в поиске, оставляя остальные видимыми Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Excel Formulas Academy?
Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Обработка отсутствующих результатов поиска с помощью IFNA»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Excel Formulas Academy?
Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Типы ошибок
- Обработка ошибок с помощью IFERROR
- Обработка отсутствующих результатов поиска с помощью IFNA
- Обнаружение проблем с помощью ISERROR