Съдържание
В урока е показано как да използвате 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
- Функцията IFERROR в Excel обработва всички видове грешки, включително #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! и #VALUE!.
- В зависимост от съдържанието на value_if_error аргумент, IFERROR може да замени грешките с ваше персонализирано текстово съобщение, число, дата или логическа стойност, резултат от друга формула или празен низ (празна клетка).
- Ако стойност е празна клетка, той се третира като празен низ ('''), но не и като грешка.
- IFERROR беше въведена в Excel 2007 и е налична във всички следващи версии на Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 и Excel 365.
- За улавяне на грешки в 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 и да ги прикривате с празни клетки, нулеви стойности или собствени съобщения. Това обаче не означава, че трябва да обгръщате всяка формула с обработка на грешки. Следните прости препоръки могат да ви помогнат да запазите баланса.
- Не улавяйте грешки без причина.
- Обвийте най-малката възможна част от формула в IFERROR.
- За да обработвате само определени грешки, използвайте функция за обработка на грешки с по-малък обхват:
- IFNA или IF ISNA, за да уловите само грешки #N/A.
- ISERR за улавяне на всички грешки с изключение на #N/A.
Ето как се използва функцията IFERROR в Excel за улавяне и обработка на грешки. За да разгледате по-отблизо формулите, разгледани в този урок, можете да изтеглите нашата примерна работна книга IFERROR Excel. Благодаря ви за четенето и се надявам да се видим в нашия блог следващата седмица.