Как использовать функцию 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(value, value_if_na)

    Где:

    Значение (требуется) - формула, значение или ссылка для проверки на ошибку #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 в ее простейшей форме:

    =MATCH(E1, A2:A10, 0)

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

    Столкнувшись с этой ошибкой, неопытные пользователи могут подумать, что с формулой что-то не так, а вы, как создатель рабочей книги, получите массу вопросов. Чтобы избежать этого, вы можете явно указать, что формула верна, просто она не может найти значение, которое ее просят искать. Итак, вы вложите формулу MATCH в первый аргумент 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(...), "Не найдено")))

    Если первичный VLOOKUP ничего не находит, его функция IFNA запускает следующий VLOOKUP, пока не будет найдено нужное значение. Если все поиски не дали результата, формула вернет заданный текст.

    Предположим, что у вас есть оценки разных классов, перечисленные на разных листах (с именами Класс A , Класс 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), "Не найдено"))))

    Формула последовательно ищет указанное имя в трех разных листах в порядке вложенности VLOOKUP и выводит первое найденное совпадение:

    Пример 3. IFNA с INDEX MATCH

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

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

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

    IFNA возвращает многочисленные результаты

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

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

    В Dynamic Array 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. Я благодарю вас за чтение и жду вас на нашем блоге на следующей неделе!

    Доступные загрузки

    Примеры формул Excel IFNA (файл.xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.