Как да използвате функцията IFNA в Excel с примери

  • Споделя Това
Michael Brown

Получавате много грешки #N/A в работните си листове и ви интересува дали има начин да покажете потребителски текст вместо това? Формулата IFNA е решението, от което се нуждаете.

Когато дадена формула на Excel не може да идентифицира или намери нещо, тя изхвърля грешката #N/A. За да уловите такава грешка и да я замените с удобно за потребителя съобщение, можете да използвате функцията IFNA. С други думи, #N/A е начинът на Excel да каже, че търсената стойност не присъства в препратената съвкупност от данни. IFNA е вашият начин да уловите и обработите тази грешка.

    Функция IFNA в Excel

    Функцията IFNA на Excel е предназначена за улавяне и обработване на грешки #N/A. Ако формулата се оценява на #N/A, IFNA улавя тази грешка и я заменя с посочена от вас потребителска стойност; в противен случай връща нормалния резултат от формулата.

    Синтаксис на IFNA

    Синтаксисът на функцията IFNA е следният:

    IFNA(стойност, value_if_na)

    Къде:

    Стойност (задължително) - формулата, стойността или препратката, която се проверява за грешка #N/A.

    Стойност_if_na (задължително) - стойността, която се връща, ако е открита грешка #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. Във втория аргумент ( value_if_na ), въведете текста, който искате да върнете, вместо стандартния запис за грешка. За да върнете празна клетка, когато не е намерено нищо, въведете празен низ (""").

    Да се върнете потребителски текст , общата формула е:

    IFNA( формула (), " потребителски текст ")

    Връщане на празна клетка , общата формула е:

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

    Нека да видим как работи това в един прост пример. В таблицата по-долу, да предположим, че искате да знаете как се нарежда резултатът на даден ученик сред останалите. Тъй като данните са сортирани по Резултат колона от най-високата към най-ниската, рангът ще съответства на относителната позиция на ученика в таблицата. А за да получите позицията, можете да използвате функцията MATCH в нейния най-прост вид:

    =MATCH(E1, A2:A10, 0)

    Тъй като стойността за търсене (Neal) не е налична в масива за търсене (A2:A10), се появява грешка #N/A.

    Сблъсквайки се с тази грешка, неопитните потребители могат да си помислят, че има нещо нередно във формулата, а вие като създател на работната книга ще получите много въпроси. За да избегнете това, можете изрично да посочите, че формулата е правилна, просто не може да намери стойността, която е поискана да се търси. Така че, в първия аргумент на IFNA вмъквате формулата MATCH, а във втория аргумент въвеждате вашата потребителскатекст, в нашия случай "Не е намерен":

    =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(...), "Not found")))

    Ако основната функция VLOOKUP не намери нищо, нейната функция IFNA изпълнява следващата функция VLOOKUP, докато не бъде намерена желаната стойност. Ако всички търсения са неуспешни, формулата ще върне посочения текст.

    Да предположим, че имате резултати на различни класове, изброени в различни листове (наречени Клас А , Клас В , и Клас C ). Вашата цел е да получите резултата на конкретен ученик, чието име е въведено в клетка B1 в текущия работен лист. За да изпълните задачата, използвайте тази формула:

    =IFNA(VLOOKUP(B1, "Class A"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Class B"!A2:B5, 2, FALSE), IFNA(VLOOKUP(B1, "Class C"!A2:B5, 2, FALSE), "Not found")))

    Формулата търси последователно зададеното име в три различни листа в реда, в който са вложени 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. Коя е по-добре да изберете? Това зависи от ситуацията.

    Ако искате да потиснете всякакъв вид грешка , тогава използвайте функцията IFERROR. Тя е особено полезна при сложни изчисления, когато формулата включва няколко функции, които могат да генерират различни грешки.

    С функции за търсене , по-добре използвайте 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. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.