Змест
Падручнік разглядае практычнае выкарыстанне функцыі ISERROR Excel і паказвае, як праверыць розныя формулы на памылкі.
Калі вы пішаце формулу, якую Excel не разумее або не можа вылічыць, яна звяртае вашу ўвагу на праблему, паказваючы паведамленне пра памылку. Функцыя ISERROR можа дапамагчы вам выяўляць памылкі і даць альтэрнатыву пры выяўленні памылкі.
Функцыя ISERROR у Excel
Функцыя ISERROR Excel выяўляе ўсе віды памылак, у тым ліку #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE! і #SPILL!. У выніку атрымліваецца лагічнае значэнне: TRUE, калі выяўлена памылка, FALSE у адваротным выпадку.
Функцыя даступная ва ўсіх версіях Excel 2000 - 2021 і Excel 365.
Сінтаксіс ISERROR функцыя такая ж простая:
ISERROR(значэнне)Дзе value гэта значэнне ячэйкі або формула, якія трэба праверыць на наяўнасць памылак.
Формула ISERROR Excel
Каб стварыць формулу ISERROR у самай простай форме, падайце спасылку на ячэйку, якую вы хочаце праверыць на наяўнасць памылак. Напрыклад:
=ISERROR(A2)
У выпадку выяўлення памылкі вы атрымаеце TRUE. Калі ў праверанай ячэйцы няма памылак, вы атрымаеце формулу FALSE:
КАЛІ ПАМЫЛКА ў Excel
Каб вярнуць карыстацкае паведамленне або выканаць іншы разлік, калі ўзнікае памылка, выкарыстоўвайце ISERROR разам з функцыяй IF. Агульная формула выглядае наступным чынам:
IF(ISERROR( formula(…), text_or_calculation_if_error, formula())У перакладзе на чалавечую мову сказана: калі вынік асноўнай формулы у памылцы, пакажыце ўказаны тэкст або запусціце іншы разлік, у адваротным выпадку верне звычайны вынік формулы.
На малюнку ніжэй дзяленне агульнай сумы на колькасць стварае некалькі памылак у Кошце слупок:
Каб замяніць усе розныя коды памылак уласным тэкстам, вы можаце выкарыстоўваць наступную формулу IF ISERROR:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
У Excel 2007 і пазнейшых версіях той самы вынік можа быць дасягнуты з дапамогай убудаванай функцыі IFERROR:
=IFERROR(A2/B2, "Unknown")
Гэта павінна быць адзначыў, што формула IFERROR працуе крыху хутчэй, таму што яна выконвае разлік A2/B2 толькі адзін раз. У той час як IF ISERROR разлічвае яго двойчы - спачатку, каб убачыць, ці ствараецца памылка, а потым зноў, калі тэст ХЛУСНЯ.
Формула IF ISERROR VLOOKUP
Выкарыстанне ISERROR з VLOOKUP, па сутнасці, з'яўляецца прыватным выпадкам IF IS Формула ERROR, разгледжаная вышэй. Калі функцыя VLOOKUP не можа знайсці значэнне пошуку або не працуе па любой іншай прычыне, вы паказваеце карыстальніцкае тэкставае паведамленне, выкарыстоўваючы гэты сінтаксіс:
IF(ISERROR(VLOOKUP(…)), " карыстальніцкі_тэкст", VLOOKUP(…))Для гэтага прыкладу давайце выцягнем час з табліцы пошуку (D3:E10) у асноўную табліцу (A3:B15). Калі значэння пошуку (імя ўдзельніка) не існуе ўпошукавая табліца, мы вернем "Не адпавядае".
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Савет. Калі вы хочаце паказаць уласны тэкст толькі тады, калі значэнне пошуку не знойдзена (памылка #N/A), ігнаруючы іншыя памылкі, выкарыстоўвайце формулу IFNA VLOOKUP у Excel 2013 і пазнейшых версіях або IF ISNA VLOOKUP у больш ранніх версіях версіі.
IF ISERROR INDEX MATCH формула
Пры выкананні пошуку з дапамогай камбінацыі INDEX MATCH (або формулы INDEX XMATCH у Excel 365), вы можаце злавіць і апрацаваць любыя магчымыя памылкі, выкарыстоўваючы тую ж тэхніку - функцыя ISERROR правярае наяўнасць памылак, і IF адлюстроўвае ўказаны тэкст пры ўзнікненні любой памылкі.
IF(ISERROR(INDEX ( слупок_вяртання , MATCH ( значэнне_прагляду , слупок_прагляду , 0)))), " карыстальніцкі_тэкст ", INDEX ( слупок_звароту , СУПАДЗЕННЕ ( значэнне_прагляду , слупок_прагляду , 0)))Выкажам здагадку, што табліца пошуку мае час у першым слупку. Паколькі VLOOKUP не можа глядзець налева, мы выкарыстоўваем формулу INDEX MATCH, каб атрымаць час са слупка D:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
І потым вы ўкладваеце яго ў вышэйзгаданую агульную формулу каб замяніць знойдзеныя памылкі любым патрэбным вам тэкстам:
=IF(ISERROR(INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))), "Not qualified", INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0)))
Заўвага. Як і ў выпадку з формулай IF ISERROR VLOOKUP, больш разумна фіксаваць толькі памылкі #N/A і не маскіраваць патэнцыйныя праблемы самой формулай. Для гэтага абгарніце сваю формулу INDEX MATH у IFNA ў Excel 2013 і вышэй або IF ISNA у больш ранніх версіях.
КАЛІФормула ISERROR Так/Не
Ва ўсіх папярэдніх прыкладах IF ISERROR вяртала вынік асноўнай формулы, калі гэта не памылка. Аднак ён можа працаваць і па-іншаму - вяртаць што-небудзь, калі памылка, і нешта іншае, калі памылкі няма.
IF(ISERROR( formula (…)), " text_if_error " , " text_if_no_error ")У нашым выбары даных, выкажам здагадку, што вас не цікавіць дакладны час, вы проста хочаце ведаць, якія ўдзельнікі з групы A кваліфікаваныя, а якія не. Каб зрабіць гэта, выкарыстоўвайце функцыю MATCH, каб параўнаць імя ў слупку A са спісам кваліфікаваных удзельнікаў у слупку D, а затым адпраўце вынікі ў ISERROR. Калі імя недаступнае ў слупку D (MATCH вяртае памылку), прымусіце функцыю IF адлюстроўваць «Не» або «Не кваліфікавана». Калі імя з'яўляецца ў слупку D (без памылак), вярніце "Так" або "Кваліфікавана".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Як падлічыць колькасць памылак
Каб атрымаць колькасць памылак у пэўным слупку, трэба праверыць дыяпазон, а не адну ячэйку. Для гэтага "перадайце" мэтавы дыяпазон ISERROR і перавядзіце вернутыя лагічныя значэнні ў 1 і 0 з дапамогай двайнога ўнарнага аператара (--). Функцыя SUM або SUMPRODUCT можа скласці лічбы і атрымаць канчатковы вынік.
Напрыклад:
=SUM(--ISERROR(C2:C10))
Звярніце ўвагу, што гэта працуе як звычайная формула толькі ў Excel 365 і Excel 2021, якія падтрымліваюць дынамічныя масівы. У Excel 2019 і раней вытрэба націснуць Ctrl + Shift + Enter, каб стварыць формулу масіву (не ўводзьце фігурныя дужкі ўручную, гэта не спрацуе!):
{=SUM(--ISERROR(C2:C10))}
У якасці альтэрнатывы вы можаце выкарыстоўваць SUMPRODUCT функцыя, якая апрацоўвае масівы ўласна, таму формулу можна завяршыць звычайнай клавішай Enter ва ўсіх версіях:
=SUMPRODUCT(--ISERROR(C2:C10))
Розніца паміж ISERROR і IFERROR у Excel
Абедзве функцыі ISERROR і IFERROR выкарыстоўваюцца для перахопу і апрацоўкі памылак у Excel. Розніца заключаецца ў наступным:
- У чыстым выглядзе ISERROR проста правярае, ці з'яўляецца значэнне памылкай ці не. Яна даступная ва ўсіх версіях Excel.
- Функцыя IFERROR прызначана для падаўлення або маскіроўкі памылак - пры выяўленні памылкі яна вяртае іншае значэнне, якое вы ўказваеце. Ён даступны ў Excel 2007 і вышэй.
На першы погляд, IFERROR выглядае як скарочаная альтэрнатыва формуле IF ISERROR. Аднак пры ўважлівым разглядзе можна заўважыць розніцу:
- IFERROR дазваляе ўказваць толькі value_if_error . Калі памылак няма, ён заўсёды вяртае вынік праверанага значэння/формулы.
- КАЛІ ISERROR забяспечвае большую гнуткасць і дазваляе апрацоўваць абедзве сітуацыі - што павінна адбыцца, калі памылка, і што, калі памылкі няма.
Каб лепш праілюстраваць гэты момант, разгледзім гэтыя формулы:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Гэтыя дзве формулы эквівалентныя - абедзве правяраюць значэнне, якое кіруецца формулай у А1 і назад"Памылка вылічэнняў", калі гэта памылка, у адваротным выпадку - вярнуць значэнне.
Але што, калі вы хочаце выканаць нейкі разлік, калі значэнне ў A1 не з'яўляецца памылкай? Функцыя IFERROR не можа гэтага зрабіць. У выпадку IF ISERROR проста ўвядзіце патрэбны разлік у апошні аргумент. Напрыклад:
=IF(ISERROR(A1), "Calculation error", A1*2)
Як бачыце, гэтая больш доўгая разнавіднасць формулы IFERROR, якая часта лічыцца састарэлай, усё яшчэ можа быць карыснай :)
Даступныя спампоўкі
Прыклады формул ISERROR (файл .xlsx)