IF ISERROR VLOOKUP формула в Excel и нейните алтернативи

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

В този урок ще разгледаме как да използваме ISERROR с VLOOKUP в Excel, за да обработваме продуктивно всички видове грешки.

VLOOKUP е една от най-объркващите функции на Excel, свързана с много проблеми. В която и таблица да търсите, грешките #N/A са често срещана гледка, като от време на време се появяват и #NAME и #VALUE. Използването на VLOOKUP с ISERROR може да ви помогне да уловите всички възможни грешки и да ги обработите по най-подходящия за вашата ситуация начин.

    Защо VLOOKUP дава грешка?

    Най-често срещаната грешка във формулите VLOOKUP е #N/A Това може да се случи поради различни причини:

    • Стойността за търсене не съществува в масива за търсене.
    • Стойността за търсене е изписана неправилно.
    • В стойността за търсене или в колоната за търсене има начални или крайни интервали.
    • Колоната за търсене не е най-лявата колона от масива на таблицата.

    Освен това можете да се сблъскате с #VALUE! например, когато стойността за търсене съдържа повече от 255 символа. В случай че в името на функцията има правописна грешка, се изписва #NAME? ще се появи грешка.

    За пълна справка вижте по-ранната ни публикация на тема Защо Excel VLOOKUP не работи.

    IF ISERROR VLOOKUP формула за заместване на грешки с потребителски текст

    За да прикриете всички възможни грешки, които могат да бъдат предизвикани от VLOOKUP, можете да го поставите във формулата IF ISERROR по следния начин:

    IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))

    Като пример, нека изтеглим имената на предметите, по които учениците от група А са се провалили на тестовете:

    =VLOOKUP(A3, $D$3:$E$9, 2, FALSE)

    В резултат на това получавате множество грешки #N/A, което може да създаде впечатление, че формулата е повредена.

    Всъщност тези грешки просто показват, че някои от стойностите за търсене (A3:A14) не са намерени в списъка за търсене (D3:D9). За да предадете ясно тази идея, вложете формулата си VLOOKUP в конструкцията IF ISERROR:

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Не", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    Така ще бъдат уловени грешки и ще бъде върнато персонализирано текстово съобщение:

    Съвети и бележки:

    • Основното предимство на тази формула е, че тя работи добре в всички версии от Excel 2000 до Excel 365. В съвременните версии са налични по-прости и компактни алтернативи.
    • Функцията ISERROR улавя абсолютно всички грешки , като например #N/A, #NAME, #VALUE и т.н. В случай че желаете да покажете персонализирано съобщение само когато не е намерена стойност за търсене (грешка #N/A), използвайте IF ISNA VLOOKUP (във всички версии) или IFNA VLOOKUP (в Excel 2013 и по-нови версии).

    ISERROR VLOOKUP за връщане на празна клетка при грешка

    За да се получи празна клетка при грешка, накарайте формулата да връща празен низ ("") вместо потребителски текст:

    IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))

    В нашия случай формулата има следния вид:

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    Резултатът е точно както се очаква - празна клетка, ако името на ученика не е намерено в таблицата за търсене.

    Съвет. По подобен начин можете да замествате грешките на VLOOKUP с нули, тирета или друг символ, който ви харесва. Просто използвайте желания символ на мястото на празен низ.

    IF ISERROR VLOOKUP Да/Не формула

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

    IF(ISERROR(VLOOKUP(...)), " text_if_not_found ", " text_if_found ")

    В нашата примерна съвкупност от данни, да предположим, че желаете да разберете кои ученици не са издържали даден тест и кои не са. За да постигнете това, използвайте вече познатата формула ISERROR VLOOKUP за логическия тест IF и ѝ кажете да изведе "No", ако стойността не е намерена (ISERROR VLOOKUP връща TRUE), "Yes", ако е намерена (ISERROR VLOOKUP връща FALSE):

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Не", "Да")

    ISERROR VLOOKUP алтернативи

    Комбинацията IF ISERROR е най-старата доказана във времето техника за Vlookup без грешки в Excel. С течение на времето се развиха нови функции, които предоставят по-лесни начини за изпълнение на същата задача. По-долу ще обсъдим други възможни решения и кога е най-добре да се прилага всяко от тях.

    ГРЕШКА ПРИ ПРЕТЪРСВАНЕ

    Наличен в Excel 2007 и по-нови версии

    От версия 2007 Excel разполага със специална функция, наречена IFERROR, за проверка на формула за грешки и връщане на собствен текст (или стартиране на алтернативна формула), ако е открита грешка.

    IFERROR(VLOOKUP(...), " text_if_error ")

    Формулата в реалния живот е следната:

    =IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Не")

    На пръв поглед тя изглежда като по-кратък аналог на формулата IF ISERROR VLOOKUP. Има обаче съществена разлика:

    • IFERROR VLOOKUP предполага, че винаги искате резултата от VLOOKUP, ако той не е грешка.
    • IF ISERROR VLOOKUP ви позволява да зададете какво да се върне при грешка и какво при липса на грешка.

    За повече информация вижте Използване на IFERROR с VLOOKUP в Excel.

    АКО Е VLOOKUP

    Работи в Excel 2000 и по-нови версии

    В случаите, когато искате да уловите само #N/A, без да улавяте други грешки, функцията ISNA е полезна. Синтаксисът е същият като този на IF ISERROR VLOOKUP:

    IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(...))

    Но при определени обстоятелства тази на пръв поглед идентична формула може да доведе до различни резултати:

    =IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Не", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))

    На изображението по-долу клетка A13 съдържа много задни интервали, поради което общата дължина на стойността за търсене надхвърля 255 символа. В резултат на това формулата предизвиква грешка #VALUE!, която привлича вниманието ви към тази клетка и ви подтиква да проучите причините. ISERROR VLOOKUP би върнал "No" в този случай, което само би замъглило проблема и би довело до абсолютно погрешен резултат.

    Кога да използвате:

    Тази формула работи чудесно в случаите, когато искате да покажете някакъв текст само когато не е намерена стойност за търсене и не искате да прикривате основни проблеми със самата формула VLOOKUP, например когато името на функцията е грешно въведено (#NAME?) или не е посочен пълният път до работната книга за търсене (#VALUE!).

    За повече информация вижте функцията ISNA в Excel с примери за формули.

    IFNA VLOOKUP

    Наличен в Excel 2013 и по-нови версии

    Това е съвременен заместител на комбинацията IF ISNA, който ви позволява да се справяте по-лесно с грешки #N/A.

    IFNA(VLOOKUP(...), " text_if_error ")

    Ето краткия еквивалент на нашата формула IF ISNA VLOOKUP:

    =IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "Не")

    Кога да използвате:

    Това е идеално решение за улавяне и обработка на грешки #N/A в съвременните версии на Excel (2013 - 365).

    За повече информация вижте функцията Excel IFNA.

    XLOOKUP

    Поддържа се в Excel 2021 и Excel 365

    Благодарение на вградената си функция "ако е грешка" функцията XLOOKUP е най-лесният начин за търсене без грешки #N/A в Excel. Просто въведете удобния за потребителя текст в незадължителния 4-ти аргумент, наречен if_not_found .

    Например:

    =XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "Не")

    Ограничение: Улавя само грешки #N/A, като игнорира други типове.

    За повече информация вижте функцията XLOOKUP в Excel.

    Както виждате, Excel предлага доста различни възможности за отстраняване на грешки при VLOOKUP. Надявам се, че този урок е хвърлил светлина върху това как да ги използвате ефективно. Благодаря ви за четенето и се надявам да се видим в нашия блог следващата седмица!

    Налични изтегляния

    ISERROR с примери за VLOOKUP (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.