Ynhâldsopjefte
De tutorial lit sjen hoe't jo IFERROR yn Excel brûke om flaters te fangen en te ferfangen troch in lege sel, in oare wearde of in oanpast berjocht. Jo sille leare hoe't jo de IFERROR-funksje brûke mei Vlookup en Index Match, en hoe't it fergelike is mei IF ISERROR en IFNA.
"Jou my it plak om te stean, en ik sil de ierde ferpleatse," Archimedes sei ienris. "Jou my in formule, en ik sil it in flater meitsje," soe in Excel-brûker sizze. Yn dizze tutorial sille wy net sjen hoe't jo flaters yn Excel weromjaan kinne, wy leare leaver hoe't jo se kinne foarkomme om jo wurkblêden skjin te hâlden en jo formules transparant te hâlden.
Excel IFERROR-funksje - syntaksis en basisgebrûk
De IFERROR-funksje yn Excel is ûntworpen om flaters yn formules en berekkeningen te fangen en te behearjen. Mear spesifyk kontrolearret IFERROR in formule, en as it evaluearret nei in flater, jout in oare wearde dy't jo oantsjutte; oars jout it resultaat fan de formule werom.
De syntaksis fan de Excel IFERROR-funksje is as folget:
IFERROR(wearde, wearde_as_fout)Wêr:
- Wearde (ferplicht) - wat te kontrolearjen op flaters. It kin in formule, útdrukking, wearde of selferwizing wêze.
- Waarde_if_error (ferplicht) - wat werom te jaan as in flater fûn wurdt. It kin in lege tekenrige (lege sel), tekstberjocht, numerike wearde, in oare formule of berekkening wêze.
Bygelyks, by it dielen fan twa kolommen mei sifers, kinne jokin in bulte ferskillende flaters krije as ien fan de kolommen lege sellen, nullen of tekst befettet.
Om foar te kommen dat bart, brûk de IFERROR-funksje om flaters op te fangen en te behanneljen sa't jo wolle.
As flater, dan leech
Jou in lege tekenrige (") oan it argumint value_if_error om in lege sel werom te jaan as in flater fûn wurdt:
=IFERROR(A2/B2, "")
As flater, lit dan in berjocht sjen
Jo kinne ek jo eigen berjocht werjaan ynstee fan de standert flaternotaasje fan Excel:
=IFERROR(A2/B2, "Error in calculation")
5 dingen dy't jo witte moatte oer Excel IFERROR-funksje
- De IFERROR-funksje yn Excel behannelet alle flatersoarten ynklusyf # DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF!, en #VALUE!.
- Ofhinklik fan de ynhâld fan de value_if_error argumint, IFERROR kin flaters ferfange troch jo oanpaste tekstberjocht, nûmer, datum of logyske wearde, it resultaat fan in oare formule, of in lege tekenrige (lege sel).
- As it argumint wearde is in lege sel, it wurdt behannele as in lege tekenrige ('''), mar gjin flater.
- IFERROR waard yntrodusearre yn Excel 2007 en is beskikber yn alle folgjende ferzjes fan Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 en Excel 365.
- Om flaters te fangen yn Excel 2003 en eardere ferzjes, brûk de ISERROR-funksje yn kombinaasje mei IF, lykas werjûn yn dit foarbyld.
IFERROR-formulefoarbylden
De folgjende foarbyldenlit sjen hoe't jo IFERROR yn Excel brûke yn kombinaasje mei oare funksjes om mear komplekse taken út te fieren.
Excel IFERROR mei Vlookup
Ien fan 'e meast foarkommende gebrûk fan 'e IFERROR-funksje is de brûkers te fertellen dat de wearde wêr't se nei sykje bestiet net yn 'e dataset. Hjirfoar ferpakke jo in VLOOKUP-formule yn IFERROR sa:
IFERROR(VLOOKUP( ...),"Net fûn")As de opsykwearde net yn 'e tabel is wêryn jo sykje , in reguliere Vlookup-formule soe de #N/A-flater werombringe:
Foar de geast fan jo brûkers, wrap VLOOKUP yn IFERROR en lit in mear ynformative en brûkerfreonliker sjen berjocht:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
De skermôfbylding hjirûnder lit dizze Iferror-formule yn Excel sjen:
As jo allinich #N wolle trape /A flaters mar net alle flaters, brûk de IFNA funksje ynstee fan IFERROR.
Foar mear Excel IFERROR VLOOKUP formulefoarbylden, sjoch asjebleaft dizze tutorials:
- Iferror with Vlookup to trap en behannelje flaters
- Hoe kinne jo N-de foarkommen fan opsykwearde krije
- Hoe kinne jo alle foarfallen fan opsykwearde krije
Nêste IFERROR-funksjes om opfolgjende Vlookups yn Excel te dwaan
Yn situaasjes as jo meardere Vlookups moatte útfiere basearre op oft de foarige Vlookup slagge of mislearre, kinne jo twa of mear IFERROR nêst funksjonearret inoar yn elkoar.
Stel dat jo in oantal ferkeaprapporten hawwe fan regionale filialen fan jobedriuw, en jo wolle krije in bedrach foar in bepaalde oarder ID. Mei A2 as de opsykwearde yn it aktuele blêd, en A2:B5 as it opsykberik yn 3 opsykblêden (Rapport 1, Rapport 2 en Rapport 3), giet de formule as folget:
=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")))
It resultaat sil der sa útsjen:
Foar de detaillearre útlis fan 'e logika fan 'e formule, sjoch asjebleaft Hoe't jo opfolgjende Vlookups yn Excel dwaan.
IFERROR yn arrayformules
As jo wierskynlik witte, binne arrayformules yn Excel bedoeld om meardere berekkeningen binnen ien formule út te fieren. As jo in arrayformule of ekspresje leverje dy't resultearret yn in array yn it argumint wearde fan 'e IFERROR-funksje, soe it in array fan wearden weromjaan foar elke sel yn it opjûne berik. It ûndersteande foarbyld lit de details sjen.
Lit ús sizze, jo hawwe Totaal yn kolom B en Priis yn kolom C, en jo wolle Totale kwantiteit berekkenje . Dit kin dien wurde troch de folgjende arrayformule te brûken, dy't elke sel yn it berik B2:B4 dielt troch de oerienkommende sel fan it berik C2:C4, en dan de resultaten optelt:
=SUM($B$2:$B$4/$C$2:$C$4)
De formule wurket goed salang't it divisorberik gjin nullen of lege sellen hat. As d'r op syn minst ien 0-wearde of lege sel is, sil de #DIV/0! flater wurdt weromjûn:
Om dizze flater te reparearjen, doch gewoan de divyzje binnen de IFERROR-funksje:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Wat de formule dochtis om in wearde yn kolom B te dielen troch in wearde yn kolom C yn elke rige (100/2, 200/5 en 0/0) en it array fan resultaten werom te jaan {50; 40; #DIV/0!}. De IFERROR-funksje fangt alle #DIV/0! flaters en ferfangt se mei nullen. En dan foeget de SUM-funksje de wearden by de resultearjende array {50; 40; 0} en jout it einresultaat út (50+40=90).
Opmerking. Unthâld asjebleaft dat arrayformules moatte wurde foltôge troch te drukken op de fluchtoets Ctrl + Shift + Enter.
IFERROR vs. IF ISERROR
No't jo witte hoe maklik it is om de IFERROR-funksje yn Excel te brûken, kinne jo jo ôffreegje wêrom't guon minsken noch altyd neigean om de IF ISERROR-kombinaasje te brûken. Hat it gjin foardielen yn ferliking mei IFERROR? Gjin. Yn 'e minne âlde dagen fan Excel 2003 en leger doe't IFERROR net bestie, wie IF ISERROR de ienige mooglike manier om flaters te fangen. Yn Excel 2007 en letter is it gewoan in bytsje kompleksere manier om itselde resultaat te berikken.
Om bygelyks Vlookup-flaters te fangen, kinne jo ien fan de ûndersteande formules brûke.
Yn Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( … ), "Net fûn")Yn alle Excel-ferzjes:
IF(ISERROR(FLOOKUP(...)), "Net fûn" ", VLOOKUP(...))Meitsje dat jo yn 'e IF ISERROR VLOOKUP-formule twa kear Vlookup moatte. Yn gewoan Ingelsk kin de formule as folget lêzen wurde: As Vlookup resultearret yn in flater, werom "Net fûn", oars útfiere it Vlookup resultaat.
En hjir is in echte-libben foarbyld fan in Excel As Iserror Vlookup formule:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)),"Not found", VLOOKUP(D2, A2:B5,2,FALSE ))
Foar mear ynformaasje, sjoch asjebleaft Brûk ISERROR-funksje yn Excel.
IFERROR vs. IFNA
Yntrodusearre mei Excel 2013, IFNA is noch ien funksje om in formule foar flaters te kontrolearjen. De syntaksis is gelyk oan dy fan IFERROR:
IFNA(wearde, wearde_if_na)Op hokker wize is IFNA oars fan IFERROR? De IFNA-funksje fangt allinich #N/A flaters wylst IFERROR alle flatersoarten behannelet.
Yn hokker situaasjes kinne jo IFNA brûke? As it ûnferstannich is om alle flaters te ferbergjen. As jo bygelyks wurkje mei wichtige of gefoelige gegevens, wolle jo miskien warskôge wurde oer mooglike flaters yn jo gegevensset, en standert Excel-flaterberjochten mei it symboal "#" kinne libbene fisuele yndikatoaren wêze.
Litte wy sjen hoe't jo in formule meitsje kinne dy't it berjocht "Net fûn" werjaan ynstee fan de N/A flater, dy't ferskynt as de opsykwearde net oanwêzich is yn 'e gegevensset, mar oare Excel-flaters ûnder jo oandacht bringt.
Stel dat jo wolle lûke Qty. fan 'e opsyktabel nei de gearfettingstabel lykas werjûn yn' e skermprint hjirûnder. It brûken fan de Excel Iferror Vlookup-formule soe in estetysk oannimlik resultaat produsearje, dat technysk ferkeard is, om't Lemons wol bestean yn 'e opsyktabel:
To catch # N/A mar werjaan de #DIV/0 flater, brûk de IFNA funksje yn Excel 2013 en Excel2016:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Not found")
Of de IF ISNA-kombinaasje yn Excel 2010 en eardere ferzjes:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)),"Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
De syntaksis fan de IFNA VLOOKUP en IF ISNA VLOOKUP-formules binne fergelykber mei dy fan IFERROR VLOOKUP en IF ISERROR VLOOKUP dy't earder besprutsen binne.
Lykas werjûn yn it skermôfbylding hjirûnder, jout de Ifna Vlookup-formule "Net fûn" allinich foar it item dat net oanwêzich is yn 'e opsyktabel ( Peaches ). Foar Sitroenen toant it #DIV/0! oanjout dat ús opsyktabel in divyzje troch nul-flater befettet:
Foar mear details, sjoch asjebleaft IFNA-funksje brûke yn Excel.
Bêste praktiken foar it brûken fan IFERROR yn Excel
Tsjintwurdich witte jo al dat de IFERROR-funksje de maklikste manier is om flaters yn Excel te fangen en se te maskerjen mei lege sellen, nulwearden of jo eigen oanpaste berjochten. Dat betsjut lykwols net dat jo elke formule moatte wrapje mei flaterôfhanneling. De folgjende ienfâldige oanbefellings kinne jo helpe om it lykwicht te hâlden.
- Fal gjin flaters sûnder reden.
- Wrap it lytste mooglike diel fan in formule yn IFERROR.
- Om allinich spesifike flaters te behanneljen, brûk in flaterbehannelingfunksje mei in lytser berik:
- IFNA of IF ISNA om allinich #N/A flaters te fangen.
- ISERR om alle flaters te fangen, útsein foar #N/A.
Dit is hoe't jo de IFERROR-funksje yn Excel brûke om flaters te fangen en te behanneljen. Om in tichterby te sjen nei de formules dy't hjiryn besprutsen binnetutorial, jo binne wolkom om ús foarbyld IFERROR Excel-wurkboek te downloaden. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen.