Ynhâldsopjefte
De tutorial sjocht nei it praktyske gebrûk fan 'e Excel ISERROR-funksje en lit sjen hoe't jo ferskate formules kinne testen foar flaters.
As jo in formule skriuwe dy't Excel net begrypt of net kin berekkenje, lûkt it jo oandacht op it probleem troch in flaterberjocht te sjen. De ISERROR-funksje kin jo helpe om flaters te fangen en in alternatyf te jaan as in flater fûn wurdt.
ISERROR-funksje yn Excel
De Excel ISERROR-funksje fangt alle soarten flaters, ynklusyf #CALC!, #DIV/0!, #N/A, #NAME?, #NUM!, #NULL!, #REF!, #VALUE!, en #SPILL!. It resultaat is in Booleaanske wearde: TRUE as in flater ûntdutsen wurdt, FALSE oars.
De funksje is beskikber yn alle ferzjes fan Excel 2000 oant 2021 en Excel 365.
De syntaksis fan de ISERROR funksje is sa ienfâldich as dit:
ISERROR(wearde)Wêr't wearde de selwearde of formule is dy't kontrolearre wurde op flaters.
Excel ISERROR-formule
Om in ISERROR-formule yn syn ienfâldichste foarm te meitsjen, leverje in ferwizing nei de sel dy't jo wolle testen op flaters. Bygelyks:
=ISERROR(A2)
As in flater fûn wurdt, krije jo TRUE. As d'r gjin flater is yn 'e testte sel, krije jo FALSE:
IF ISERROR-formule yn Excel
Om in oanpast berjocht werom te jaan of in ferskillende berekkening as in flater optreedt, brûk ISERROR tegearre mei de IF funksje. De generike formule sjocht der sa út:
IF(ISERROR( formule(…), tekst_of_berekkening_as_flater, formule())Oersetten yn in minsklike taal, seit it: as de haadformule resultearret yn in flater, werjaan de opjûne tekst of útfiere in oare berekkening, oars jout in normaal resultaat fan de formule.
Yn de ôfbylding hjirûnder genereart it dielen fan it totaal troch de kwantiteit in pear flaters yn de Priis kolom:
Om alle ferskillende flaterkoades te ferfangen troch in oanpaste tekst, kinne jo de folgjende IF ISERROR-formule brûke:
=IF(ISERROR(A2/B2), "Unknown", A2/B2)
Yn Excel 2007 en letter ferzjes kin itselde resultaat berikt wurde mei help fan de ynboude IFERROR-funksje:
=IFERROR(A2/B2, "Unknown")
It moat wêze merkte op dat de IFERROR-formule wat flugger rint, om't it de A2/B2-berekkening mar ien kear útfiert. Wylst IF ISERROR it twa kear berekkenet - earst om te sjen oft it in flater genereart en dan nochris as de test FALSE is.
IF ISERROR VLOOKUP formule
It brûken fan ISERROR mei VLOOKUP is yn feite in bepaald gefal fan de IF IS ERROR formule besprutsen hjirboppe. As de VLOOKUP-funksje de opsykwearde net kin fine of mislearret om in oare reden, litte jo in oanpast tekstberjocht sjen troch dizze syntaksis te brûken:
IF(ISERROR(VLOOKUP(...)), " custom_text", VLOOKUP(...))Foar dit foarbyld litte wy de tiden fan 'e opsyktabel (D3:E10) nei de haadtabel (A3:B15) lûke. As de opsykwearde (namme fan de dielnimmer) net bestiet yn 'eopsyktabel, sille wy "Net kwalifisearre" weromjaan.
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))
Tip. As jo in oanpaste tekst allinich werjaan wolle as in opsykwearde net fûn is (#N/A flater) dy't oare flaters negearret, brûk dan de IFNA VLOOKUP-formule yn Excel 2013 en letter of IF ISNA VLOOKUP yn âlder ferzjes.
IF ISERROR INDEX MATCH formule
As jo in opsykje útfiere mei help fan de INDEX MATCH-kombinaasje (of INDEX XMATCH-formule yn Excel 365), kinne jo alle mooglike flaters trape en behannelje troch deselde technyk te brûken - de ISERROR-funksje kontrolearret op flaters en IF lit de opjûne tekst sjen as in flater optreedt.
IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column<2)>, 0)))), " oanpaste_tekst ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))Stel dat de opsyktabel tiden yn 'e earste kolom hat. Om't VLOOKUP net nei links kin sjen, brûke wy de INDEX MATCH-formule om de tiden út kolom D te lûken:
=INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))
En dan nestelje jo it yn 'e boppeneamde generyske formule om de fongen flaters te ferfangen troch elke tekst dy't jo wolle:
=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)))
Opmerking. Lykas by de IF ISERROR VLOOKUP-formule, makket it mear sin om allinich #N/A-flaters te fangen en potinsjele problemen net te ferbergjen mei de formule sels. Wrapje hjirfoar jo INDEX MATH-formule yn IFNA yn Excel 2013 en heger as IF ISNA yn eardere ferzjes.
IFISERROR Ja/Nee formule
Yn alle foargeande foarbylden hat IF ISERROR it resultaat fan 'e haadformule weromjûn as it gjin flater is. It kin lykwols ek op in oare manier wurkje - wat weromjaan as flater en wat oars as gjin flater.
IF(ISERROR( formule (...)), " text_if_error " , " text_if_no_error ")Stel yn ús foarbylddataset dat jo net ynteressearre binne yn 'e krekte tiden, jo wolle gewoan witte hokker dielnimmers út groep A kwalifisearre binne en hokker net. Om dit te dwaan, brûk de MATCH-funksje om de namme yn kolom A te fergelykjen mei de list fan kwalifisearre dielnimmers yn kolom D, en tsjinje dan de resultaten nei ISERROR. As de namme net beskikber is yn kolom D (MATCH jout in flater werom), krij de IF-funksje om "Nee" of "Net kwalifisearre" wer te jaan. As de namme yn kolom D stiet (gjin flater), dan werom "Ja" of "Kwalifisearre".
=IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )
Hoe it oantal flaters telle
Om it oantal flaters yn in bepaalde kolom te krijen, moatte jo in berik kontrolearje, net allinich ien sel. Hjirfoar "fiere" it doelberik nei ISERROR en twinge de weromjûne Booleaanske wearden yn 1's en 0's mei de dûbele unêre operator (--). De SUM- of SUMPRODUCT-funksje kin de nûmers optelle en it einresultaat leverje.
Bygelyks:
=SUM(--ISERROR(C2:C10))
Tink derom, dit wurket as gewoane formule allinnich yn Excel 365 en Excel 2021, dy't dynamyske arrays stypje. Yn Excel 2019 en earder, jomoatte Ctrl + Shift + Enter drukke om in arrayformule te meitsjen (typ gjin krullende heakjes mei de hân, dat sil net wurkje!):
{=SUM(--ISERROR(C2:C10))}
As alternatyf kinne jo de SUMPRODUCT brûke funksje dy't arrays native behannelet, sadat de formule kin wurde foltôge mei de gewoane Enter-kaai yn alle ferzjes:
=SUMPRODUCT(--ISERROR(C2:C10))
Ferskil tusken ISERROR en IFERROR yn Excel
Sawol de ISERROR- as IFERROR-funksjes wurde brûkt om flaters yn Excel te fangen en te behanneljen. It ferskil is as folget:
- Yn syn suvere foarm test ISERROR gewoan as de wearde in flater is of net. It is beskikber yn alle Excel-ferzjes.
- De IFERROR-funksje is ûntworpen om flaters te ûnderdrukken of te ferbergjen - as in flater fûn wurdt, jout it in oare wearde werom dy't jo oantsjutte. It is beskikber yn Excel 2007 en heger.
Op it earste gesicht liket IFERROR in alternatyf foar de IF ISERROR-formule. By in tichterby besjen kinne jo lykwols it ferskil fernimme:
- IFERROR lit jo allinich wearde_if_error opjaan. As der gjin flater is, jout it altyd it resultaat fan de teste wearde/formule werom.
- IF ISERROR jout mear fleksibiliteit en lit jo beide situaasjes behannelje - wat moat der barre as in flater en wat as gjin flater.
Om it punt better te yllustrearjen, beskôgje dizze formules:
=IFERROR(A1, "Calculation error")
=IF(ISERROR(A1), "Calculation error", A1)
Dizze twa formules binne lykweardich - kontrolearje beide in formule-oandreaune wearde yn A1 en werom"Berekkeningsflater" as it in flater is, oars - jou de wearde werom.
Mar wat as jo wat berekkening útfiere wolle as de wearde yn A1 gjin flater is? De IFERROR-funksje kin dat net dwaan. Yn gefal fan IF ISERROR, typ gewoan de winske berekkening yn it lêste argumint. Bygelyks:
=IF(ISERROR(A1), "Calculation error", A1*2)
Sa't jo sjogge, kin dizze langere fariaasje fan 'e IFERROR-formule, dy't faaks as ferâldere wurdt beskôge, noch nuttich wêze :)
Beskikbere downloads
ISERROR formulefoarbylden (.xlsx-bestân)