Оглавление
В этом учебном пособии рассматриваются различные способы использования функции ISNA в Excel для обработки ошибок #N/A.
Когда Excel не может найти то, что запрашивает, в ячейке появляется ошибка #N/A. Для перехвата и обработки таких ошибок можно использовать функцию ISNA. Какова практическая польза от этого? По сути, она помогает сделать формулы более удобными для пользователя, а рабочие листы - более красивыми.
Функция ISNA в Excel
Функция Excel ISNA используется для проверки ячеек или формул на наличие ошибок #N/A. Результатом является логическое значение: TRUE, если обнаружена ошибка #N/A, FALSE в противном случае.
Функция доступна во всех версиях Excel 2000-2021 и Excel 365.
Синтаксис функции ISNA настолько прост, насколько это вообще возможно:
ИСНА (значение)Где значение это значение ячейки или формула, которую вы хотите проверить на наличие ошибок #N/A.
Чтобы создать формулу ISNA в ее базовой форме, в качестве единственного аргумента введите ссылку на ячейку:
=ISNA(A2)
В случае если в ячейке, на которую ссылается ссылка, содержится ошибка #N/A, вы получите TRUE. В случае любой другой ошибки, значения или пустой ячейки вы получите FALSE:
Как использовать ISNA в Excel
Использование функции ИСТИНА в чистом виде имеет мало практического смысла. Чаще всего она используется вместе с другими функциями для оценки результата определенной формулы. Для этого просто подставьте эту другую формулу в функцию значение аргумент ИСНА:
ИСНА( ваша_формула ())Предположим, что в приведенном ниже наборе данных необходимо сравнить два списка (столбцы A и D) и определить имена, которые присутствуют в обоих списках, и имена, которые появляются только в списке 1.
Чтобы сравнить имя в A3 с каждым именем в столбце D, используется формула:
=MATCH(A3, $D$2:$D$9, 0)
Если искомое значение найдено, функция MATCH возвращает его относительную позицию в массиве поиска, иначе возникает ошибка #N/A. Чтобы проверить результат MATCH, мы вложим его в ISNA:
=ISNA(MATCH(A3, $D$2:$D$9, 0))
Эта формула попадает в B3, а затем копируется через B14.
Теперь вы можете четко видеть, какие студенты прошли все тесты (имя отсутствует в столбце D> MATCH возвращает #N/A> ISNA возвращает TRUE), а какие имеют хотя бы один проваленный тест (имя появляется в столбце D> ошибки нет> ISNA возвращает FALSE).
Совет. В Excel 365 и Excel 2021 можно использовать более современную функцию XMATCH. вместо MATCH.
Формула ЕСЛИ ИСТИНА в Excel
По своей конструкции функция ISNA может возвращать только два булевых значения. Для вывода пользовательских сообщений используйте ее в сочетании с функцией IF:
IF(ISNA(...), " text_if_error ", " text_if_no_error ")Доработав наш пример, выясним, какие студенты из группы А не провалили ни одного теста, и вернем для них "No failed tests". Для остальных студентов мы вернем "Failed". Для этого встроим формулу ISNA MATCH в логический тест IF, так что IF станет самой внешней функцией:
=IF(ISNA(MATCH(A3,$D$2:$D$9,0)), "Нет неудачных тестов", "Неудачные")
Теперь результаты выглядят намного лучше и интуитивно понятнее, согласны?
Как использовать ISNA в Excel с помощью VLOOKUP
Комбинация IF ISNA - это универсальное решение, которое можно использовать с любой функцией, которая ищет что-то в наборе данных и возвращает ошибку #N/A, если искомое значение не найдено.
Синтаксис функции ISNA с VLOOKUP следующий:
IF(ISNA(VLOOKUP(...), " пользовательский_текст ", VLOOKUP(...))В переводе на человеческий язык это звучит так: если VLOOKUP приводит к ошибке #N/A, верните пользовательский текст, иначе верните результат VLOOKUP.
В нашем примере таблицы предположим, что вы хотите вернуть предметы, по которым студенты не сдали тесты. Для тех, кто успешно сдал все тесты, будет выведено "No failed tests".
Чтобы найти предметы, мы построим классическую формулу VLOOKUP:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
А затем вложите его в общую формулу IF ISNA, о которой говорилось выше:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Нет неудачных тестов", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
В Excel 2013 и более поздних версиях вы можете использовать функцию IFNA для перехвата и обработки ошибок #N/A. Это сделает вашу формулу короче и легче для чтения.
В качестве примера заменим ошибки #N/A на тире ("-") и получим следующее элегантное решение:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "-")
Пользователям Excel 365 и 2021 вообще не нужна функция-обертка, поскольку современный преемник VLOOKUP, функция XLOOKUP, может обрабатывать ошибки #N/A встроенным образом:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "-")
Результат будет точно таким же, как показано на скриншоте выше.
Формула SUMPRODUCT ISNA для подсчета ошибок #N/A
Чтобы подсчитать ошибки #N/A в определенном диапазоне, используйте функцию ISNA вместе с SUMPRODUCT таким образом:
СУММОПРОДУКТ(-ИСНА( ассортимент ))Здесь ISNA возвращает массив значений TRUE и FALSE, двойное отрицание (--) превращает логические значения в 1 и 0, а SUMPRODUCT складывает результат.
Например, чтобы узнать, сколько студентов успешно справились со всеми тестами, модифицируйте формулу MATCH для диапазона значений поиска (A3:A14) и вложите ее в ISNA:
= СУММАРНЫЙ ПРОДУКТ(--ISNA(MATCH(A3:A14, D2:D9, 0)))
Формула определяет, что у 9 студентов нет проваленных тестов, т.е. функция MATCH возвращает 9 ошибок #N/A:
Вот как создавать и использовать формулы ISNA в Excel. Я благодарю вас за прочтение и жду вас на нашем блоге на следующей неделе!
Доступные загрузки
Примеры формул ISNA (файл.xlsx)