Шаблон

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

Преглед на функцията IFERROR

Функцията IFERROR проверява дали формулата води до грешка. Ако е FALSE, връща първоначалния резултат от формулата. Ако е ИСТИНА, върнете друга посочена стойност.

IFERROR Синтаксис

За да използвате функцията IFERROR Excel за работен лист, изберете клетка и въведете:
= ГРЕШКА (
Забележете как се появяват входовете на формулата IFERROR:

Синтаксис и входове на функцията IFERROR:

= IFERROR (VALUE, value_if_error)

стойност - Израз. Пример: 4/A1

value_if_error - Стойност или изчисление, които да се извършат, ако предишното въвеждане доведе до грешка. Пример 0 или „” (празно)

Какво представлява функцията IFERROR?

Функцията IFERROR попада в категорията Логически функции в Microsoft Excel, която включва ISNA, ISERROR и ISERR. Всички тези функции помагат за откриване и обработка на грешки във формулата.

IFERROR ви позволява да извършите изчисление. Ако изчислението не доведе до грешка, тогава се показва резултатът от изчислението. Ако изчислението прави доведе до грешка, тогава се извършва друго изчисление (или се извежда статична стойност като 0, празно или някакъв текст).

Кога бихте използвали функцията IFERROR?

  • При разделяне на числа, за да се избегнат грешки, причинени от делението на 0
  • При извършване на справки за предотвратяване на грешки, ако стойността не е намерена.
  • Когато искате да извършите друго изчисление, ако първото доведе до грешка (напр. Търсене на стойност в 2nd таблица, ако не е намерена в първата таблица)

Грешките при необработени формули могат да причинят грешки в работната ви книга, но видимите грешки също правят електронната ви таблица по-малко видимо привлекателна.

Ако грешка, тогава 0

Нека разгледаме един основен пример. По -долу разделяте две числа. Ако се опитате да разделите на нула, ще получите грешка:

Вместо това вмъкнете изчислението във функцията IFERROR и ако разделите на нула, вместо грешка се извежда 0:

= ГРЕШКА (A2/B2,0)

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

Вместо да зададете грешки на 0, можете да ги зададете на „празни“ с двойни кавички („”):

= ГРЕШКА (A2/B2, "")

Ще разгледаме още употреби на IFERROR с функцията VLOOKUP …

IFERROR с VLOOKUP

Функциите за търсене като VLOOKUP ще генерират грешки, ако стойността за търсене не бъде намерена. Както е показано по -горе, можете да използвате функцията IFERROR, за да замените грешките с празни (“”) или 0s:

Ако има грешка, направете нещо друго

Функцията IFERROR може да се използва и за извършване на второ изчисление, ако първото изчисление води до грешка:

= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE))

Тук, ако данните не са намерени в „LookupTable1“, вместо това се извършва VLOOKUP на „LookupTable2“.

Още примери за формула IFERROR

Вложен IFERROR - VLOOKUP Множество листове

Можете да вмъкнете IFERROR вътре в друг IFERROR, за да извършите 3 отделни изчисления. Тук ще използваме два IFERROR за изпълнение на VLOOKUP на 3 отделни работни листа:

= IFERROR (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), IFERROR (VLOOKUP (A2, LookupTable2! $ A $ 2: $ B $ 4,2, FALSE), VLOOKUP (A2, LookupTable3! $) A $ 2: $ B $ 4,2, FALSE)))

Индекс / съвпадение и XLOOKUP

Разбира се, IFERROR ще работи и с формулите Index / Match и XLOOKUP.

IFERROR XLOOKUP

Функцията XLOOKUP е усъвършенствана версия на функцията VLOOKUP.

ИНДЕКС НА ГРЕШОК / МАТЧ

Можете също така да търсите стойности, като използвате функциите INDEX и MATCH в Excel.

IFERROR в масиви

Формулите с масиви в Excel се използват за извършване на няколко изчисления чрез една формула. Да предположим, че има три колони за година, продажби и средна цена. Можете да разберете общото количество със следната формула в колоната E.

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

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

Този път можете да използвате функцията IFERROR по следния начин:

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

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

IFNA срещу IFERROR

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

= IFNA (VLOOKUP (A2, LookupTable1! $ A $ 2: $ B $ 4,2, FALSE), "Не е намерен")

Ако ISERROR

Ако все още използвате Microsoft Excel 2003 или по -стара версия, можете да замените IFERROR с комбинация от IF и ISERROR. Ето кратък пример:

= IF (ISERROR (A2/B2), 0, A2/B2)

IFERROR в Google Таблици

Функцията IFERROR работи абсолютно същото в Google Sheets като в Excel:

IFERROR Примери във VBA

VBA няма вградена функция IFERROR Fucntion, но можете също да получите достъп до функцията Excel IFERROR от VBA:

Dim n толкова дълго, колкото n = Application.WorksheetFunction.IfError (Стойност, value_if_error)

Приложение.Функция на работен лист ви дава достъп до много (не всички) функции на Excel във VBA.

Обикновено IFERROR се използва при четене на стойности от клетки. Ако клетка съдържа грешка, VBA може да изхвърли съобщение за грешка, когато се опитва да обработи стойността на клетката. Опитайте това с примерния код по -долу (където клетка B2 съдържа грешка):

Sub IFERROR_VBA () Dim n As Long, m As Long 'IFERROR n = Application.WorksheetFunction.IfError (Range ("b2"). Value, 0)' No IFERROR m = Range ("b2"). Value End Sub

Кодът присвоява клетка В2 на променлива. Второто присвояване на променлива издава грешка, защото стойността на клетката е #N/A, но първата работи добре поради функцията IFERROR.

Можете също да използвате VBA, за да създадете формула, съдържаща функцията IFERROR:

Обхват ("C2"). Формула R1C1 = "= IFERROR (RC [-2]/RC [-1], 0)"

Обработката на грешки във VBA е много по -различна, отколкото в Excel. Обикновено за обработка на грешки във VBA ще използвате VBA Error Handling. Обработката на грешки във VBA изглежда така:

Sub TestWS () MsgBox DoesWSExist ("test") End Подфункция DoesWSExist = False Else DoesWSExist = True End If On Грешка GoTo -1 End Функция

Забележете, че използваме Ако Err.Number 0 Тогава за да се установи дали е възникнала грешка. Това е типичен начин за улавяне на грешки във VBA. Функцията IFERROR обаче има някои приложения при взаимодействие с Excel клетки.

IFERROR Практически упражнения + Примери

Щракнете двукратно върху клетка, за да видите формулата и да я редактирате.

да направя:

премахнете примери за електронни таблици най -долу засега …

да тествам / мисля за:

  • изображение срещу gif отгоре
  • обърнете внимание на интерактивни примери в урока?
  • преименувайте / преоформете кодовите блокове …
  • TOC отгоре? премахнете ги от тези страници и добавете ръчно [TOC]?
    • поставете връзките на VBA „excel, googlesheets“ и отгоре и може би да се отървете от TOC? „Функцията IFERROR е налична в …“
  • какво ще кажете за някои други изображения … като икона на Excel или листове в Google или VBA, за да изглежда по -хубаво
    • да, мисля, че вижте черновата на имейл, където се използва логото на Excel, и добавете това някъде … и го направете фантастична заглавка … същото с g листове и vba!
  • намалете размера на шрифта на сайта!
  • поправете CSS … TOC, област на синтаксиса … и т.н.!

добавете бутон за изтегляне, за да изтеглите електронната таблица + поискайте имейл СЛЕД изтеглянето …

или направете нещо подобно на производителите на шаблони … където те ви молят да попълните анкета

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave