Как да използвате IFERROR в Excel с примери за формули

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

В урока е показано как да използвате IFERROR в Excel, за да улавяте грешки и да ги заменяте с празна клетка, друга стойност или персонализирано съобщение. Ще научите как да използвате функцията IFERROR с Vlookup и Index Match и как тя се сравнява с IF ISERROR и IFNA.

"Дайте ми място, където да застана, и ще преместя земята", е казал Архимед. "Дайте ми формула и ще я накарам да върне грешка", би казал някой потребител на Excel. В този урок няма да разглеждаме как да връщаме грешки в Excel, а по-скоро ще се научим как да ги предотвратяваме, за да запазим работните си листове чисти и формулите си прозрачни.

    Функция IFERROR на Excel - синтаксис и основни приложения

    Функцията IFERROR в Excel е предназначена за улавяне и управление на грешки във формулите и изчисленията. По-конкретно, IFERROR проверява формула и ако при оценката ѝ се получи грешка, връща друга стойност, която сте посочили; в противен случай връща резултата от формулата.

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

    IFERROR(стойност, value_if_error)

    Къде:

    • Стойност (задължително) - какво да се проверява за грешки. Това може да бъде формула, израз, стойност или препратка към клетка.
    • Стойност_if_error (задължително) - какво да се върне, ако се открие грешка. Това може да бъде празен низ (празна клетка), текстово съобщение, числова стойност, друга формула или изчисление.

    Например при разделяне на две колони с числа може да се получат множество различни грешки, ако една от колоните съдържа празни клетки, нули или текст.

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

    Ако е грешка, тогава празно

    Подайте празен низ (") към value_if_error аргумент за връщане на празна клетка, ако е открита грешка:

    =IFERROR(A2/B2, "")

    Ако има грешка, покажете съобщение

    Можете също така да покажете свое собствено съобщение вместо стандартния запис за грешка на Excel:

    =IFERROR(A2/B2, "Грешка в изчислението")

    5 неща, които трябва да знаете за функцията IFERROR на Excel

    1. Функцията IFERROR в Excel обработва всички видове грешки, включително #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! и #VALUE!.
    2. В зависимост от съдържанието на value_if_error аргумент, IFERROR може да замени грешките с ваше персонализирано текстово съобщение, число, дата или логическа стойност, резултат от друга формула или празен низ (празна клетка).
    3. Ако стойност е празна клетка, той се третира като празен низ ('''), но не и като грешка.
    4. IFERROR беше въведена в Excel 2007 и е налична във всички следващи версии на Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 и Excel 365.
    5. За улавяне на грешки в Excel 2003 и по-ранни версии използвайте функцията ISERROR в комбинация с IF, както е показано в този пример.

    Примери за формулата IFERROR

    Следващите примери показват как да използвате IFERROR в Excel в комбинация с други функции за изпълнение на по-сложни задачи.

    Excel IFERROR с Vlookup

    Една от най-често срещаните употреби на функцията IFERROR е да съобщи на потребителите, че търсената от тях стойност не съществува в набора от данни. За тази цел обвивате формулата VLOOKUP в IFERROR по следния начин:

    IFERROR(VLOOKUP( ... ), "Не е намерен")

    Ако стойността за търсене не се намира в таблицата, в която търсите, обикновената формула Vlookup ще върне грешка #N/A:

    За да не се притесняват потребителите, обвийте VLOOKUP в IFERROR и изведете по-информативно и удобно за потребителя съобщение:

    =IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")

    Снимката на екрана по-долу показва тази формула Iferror в Excel:

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

    За повече примери за формулата Excel IFERROR VLOOKUP, моля, разгледайте тези уроци:

    • Iferror с Vlookup за улавяне и обработка на грешки
    • Как да получите N-тата поява на стойността за търсене
    • Как да получите всички срещания на стойността за търсене

    Вложени функции IFERROR за извършване на последователни Vlookups в Excel

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

    Да предположим, че имате няколко отчета за продажбите от регионалните клонове на вашата компания и искате да получите сума за определен идентификатор на поръчка. С A2 като стойност за търсене в текущия лист и A2:B5 като диапазон за търсене в 3 листа за търсене (Отчет 1, Отчет 2 и Отчет 3), формулата е следната:

    =IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0), "not found"))

    Резултатът ще изглежда по подобен начин:

    За подробно обяснение на логиката на формулата вижте Как да правим последователни Vlookups в Excel.

    IFERROR във формули за масиви

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

    Да кажем, че имате Общо в колона В и Цена в колона C и искате да изчислите Общо количество . Това може да се направи, като се използва следното формула на масива, която разделя всяка клетка от диапазона B2:B4 на съответната клетка от диапазона C2:C4, след което сумира резултатите:

    =SUM($B$2:$B$4/$C$2:$C$4)

    Формулата работи добре, стига в диапазона на делителите да няма нули или празни клетки. Ако има поне една стойност 0 или празна клетка, се връща грешка #DIV/0!

    За да поправите тази грешка, просто направете делението във функцията IFERROR:

    =SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))

    Това, което прави формулата, е да раздели стойността в колона B на стойността в колона C във всеки ред (100/2, 200/5 и 0/0) и да върне масив от резултати {50; 40; #DIV/0!}. Функцията IFERROR улавя всички грешки #DIV/0! и ги заменя с нули. И след това функцията SUM сумира стойностите в получения масив {50; 40; 0} и извежда крайния резултат (50+40=90).

    Забележка: Не забравяйте, че формулите за масиви трябва да се попълват чрез натискане на клавишната комбинация Ctrl + Shift + Enter.

    IFERROR срещу IF ISERROR

    Сега, след като знаете колко лесно е да използвате функцията IFERROR в Excel, може би се чудите защо някои хора все още предпочитат да използват комбинацията IF ISERROR. Има ли тя някакви предимства в сравнение с IFERROR? Няма. В лошите стари времена на Excel 2003 и по-ниските, когато IFERROR не съществуваше, IF ISERROR беше единственият възможен начин за улавяне на грешки. В Excel 2007 и по-новите версии това е просто малко по-сложен начин запостигане на същия резултат.

    Например за откриване на грешки при Vlookup можете да използвате някоя от следните формули.

    В Excel 2007 - Excel 2016:

    IFERROR(VLOOKUP( ... ), "Не е намерен")

    Във всички версии на Excel:

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

    Обърнете внимание, че във формулата IF ISERROR VLOOKUP трябва да извършите Vlookup два пъти. На обикновен английски език формулата може да се прочете по следния начин: Ако Vlookup доведе до грешка, върнете "Not found", в противен случай изведете резултата от Vlookup.

    А ето и реален пример за формула на Excel If Iserror Vlookup:

    =IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Не е намерен", VLOOKUP(D2, A2:B5,2,FALSE ))

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

    IFERROR срещу IFNA

    Въведена в Excel 2013, IFNA е още една функция за проверка на формула за грешки. Синтаксисът ѝ е подобен на този на IFERROR:

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

    По какво IFNA се различава от IFERROR? Функцията IFNA улавя само грешки #N/A докато IFERROR обработва всички видове грешки.

    В кои ситуации може да искате да използвате IFNA? Когато не е разумно да се прикриват всички грешки. Например, когато работите с важни или чувствителни данни, може да искате да бъдете предупредени за възможни грешки в набора от данни, а стандартните съобщения за грешки в Excel със символа "#" могат да бъдат ярки визуални индикатори.

    Нека видим как можете да създадете формула, която показва съобщението "Not found" (Не е намерено) вместо грешката N/A, която се появява, когато стойността за търсене не присъства в набора от данни, но привлича вниманието ви към други грешки на Excel.

    Да предположим, че искате да изтеглите Qty. от таблицата за търсене в обобщаващата таблица, както е показано на снимката по-долу. Използването на формулата Excel Iferror Vlookup би довело до естетически приятен резултат, който е технически неправилен, защото Лимони съществуват в таблицата за търсене:

    За да уловите #N/A, но да покажете грешката #DIV/0, използвайте функцията IFNA в Excel 2013 и Excel 2016:

    =IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Не е намерен")

    Или комбинацията IF ISNA в Excel 2010 и по-ранни версии:

    =IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Не е намерен", VLOOKUP(F3,$A$3:$D$6,4,FALSE))

    Синтаксисът на формулите IFNA VLOOKUP и IF ISNA VLOOKUP е подобен на този на IFERROR VLOOKUP и IF ISERROR VLOOKUP, разгледани по-рано.

    Както е показано на скрийншота по-долу, формулата Ifna Vlookup връща "Not found" само за елемента, който не присъства в таблицата за търсене ( Праскови ). За Лимони , тя показва #DIV/0!, което означава, че нашата таблица за търсене съдържа грешка при деление на нула:

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

    Най-добри практики за използване на IFERROR в Excel

    Вече знаете, че функцията IFERROR е най-лесният начин да улавяте грешки в Excel и да ги прикривате с празни клетки, нулеви стойности или собствени съобщения. Това обаче не означава, че трябва да обгръщате всяка формула с обработка на грешки. Следните прости препоръки могат да ви помогнат да запазите баланса.

    1. Не улавяйте грешки без причина.
    2. Обвийте най-малката възможна част от формула в IFERROR.
    3. За да обработвате само определени грешки, използвайте функция за обработка на грешки с по-малък обхват:
      • IFNA или IF ISNA, за да уловите само грешки #N/A.
      • ISERR за улавяне на всички грешки с изключение на #N/A.

    Ето как се използва функцията IFERROR в Excel за улавяне и обработка на грешки. За да разгледате по-отблизо формулите, разгледани в този урок, можете да изтеглите нашата примерна работна книга IFERROR Excel. Благодаря ви за четенето и се надявам да се видим в нашия блог следващата седмица.

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