IERROR funksie in Excel met formule voorbeelde

  • Deel Dit
Michael Brown

Die tutoriaal kyk na die praktiese gebruike van die Excel IERROR-funksie en wys hoe om verskillende formules vir foute te toets.

Wanneer jy 'n formule skryf wat Excel nie verstaan ​​nie of nie kan bereken nie, vestig dit jou aandag op die probleem deur 'n foutboodskap te wys. Die ISERROR-funksie kan jou help om foute op te spoor en 'n alternatief te bied wanneer 'n fout gevind word.

    ISERROR-funksie in Excel

    Die Excel ISERROR-funksie vang allerhande foute op, insluitend #CALC!, #DIV/0!, #N/A, #NAAM?, #NUM!, #NULL!, #VERW!, #WAARDE!, en #MORS!. Die resultaat is 'n Boole-waarde: WAAR as 'n fout opgespoor word, anders ONWAAR.

    Die funksie is beskikbaar in alle weergawes van Excel 2000 tot 2021 en Excel 365.

    Die sintaksis van die IERROR funksie is so eenvoudig soos hierdie:

    IERROR(waarde)

    Waar waarde die selwaarde of formule is wat nagegaan moet word vir foute.

    Excel IERROR formule

    Om 'n IERROR-formule in sy eenvoudigste vorm te skep, verskaf 'n verwysing na die sel wat jy vir foute wil toets. Byvoorbeeld:

    =ISERROR(A2)

    In geval enige fout gevind word, sal jy WAAR kry. As daar geen fout in die getoetsde sel is nie, sal jy ONWAAR kry:

    INDIEN FOUT-formule in Excel

    Om 'n pasgemaakte boodskap terug te stuur of 'n verskillende berekeninge wanneer 'n fout voorkom, gebruik ISERROR saam met die IF-funksie. Die generiese formule lyk soos volg:

    IF(ISERROR( formule(…), teks_of_berekening_as_fout, formule())

    Vertaal in 'n menslike taal, sê dit: as die hoofformule tot gevolg het in 'n fout, vertoon die gespesifiseerde teks of voer 'n ander berekening uit, anders gee 'n normale resultaat van die formule terug.

    In die prent hieronder genereer die verdeling van die totaal deur die hoeveelheid 'n paar foute in die Prys kolom:

    Om alle verskillende foutkodes met 'n pasgemaakte teks te vervang, kan jy die volgende IF IERROR formule gebruik:

    =IF(ISERROR(A2/B2), "Unknown", A2/B2)

    In Excel 2007 en later weergawes kan dieselfde resultaat bereik word met behulp van die ingeboude IFERROR-funksie:

    =IFERROR(A2/B2, "Unknown")

    Dit moet wees het opgemerk dat die IFERROR-formule 'n bietjie vinniger loop omdat dit die A2/B2-berekening net een keer uitvoer. Terwyl IF ISERROR dit twee keer bereken - eers om te sien of dit 'n fout genereer en dan weer as die toets ONWAAR is.

    IF ISERROR VLOOKUP formule

    Die gebruik van ISERROR met VLOOKUP is in werklikheid 'n spesifieke geval van die IF IS FOUT formule hierbo bespreek. Wanneer die VLOOKUP-funksie nie die opsoekwaarde kan vind nie of om enige ander rede misluk, vertoon jy 'n pasgemaakte teksboodskap deur hierdie sintaksis te gebruik:

    IF(ISERROR(VLOOKUP(…)), " custom_text", VLOOKUP(…))

    Vir hierdie voorbeeld, kom ons trek die tye van die opsoektabel (D3:E10) na die hooftabel (A3:B15). As die opsoekwaarde (deelnemer se naam) nie in dieopsoektabel, sal ons "Nie gekwalifiseerd" terugstuur nie.

    =IF(ISERROR(VLOOKUP(A3, $D$3:$E$10, 2, FALSE)), "Not qualified", VLOOKUP(A3, $D$3:$E$10, 2, FALSE))

    Wenk. As jy 'n pasgemaakte teks wil vertoon slegs wanneer 'n opsoekwaarde nie gevind word nie (#N/A fout) wat ander foute ignoreer, gebruik dan die IFNA VLOOKUP formule in Excel 2013 en later of IF ISNA VLOOKUP in ouer weergawes.

    AS IERROR INDEX MATCH formule

    Wanneer jy 'n opsoek doen met behulp van die INDEX MATCH kombinasie (of INDEX XMATCH formule in Excel 365), kan jy enige moontlike foute vasvang en hanteer deur dieselfde tegniek te gebruik - die IERROR-funksie kyk vir foute en IF vertoon die gespesifiseerde teks wanneer enige fout voorkom.

    IF(ISERROR(INDEX ( return_column , MATCH ( lookup_value , lookup_column<2)>, 0)))), " pasgemaakte_teks ", INDEX ( return_column , MATCH ( lookup_value , lookup_column , 0)))

    Gestel die opsoektabel het tye in die eerste kolom. Aangesien VLOOKUP nie na links kan kyk nie, gebruik ons ​​die INDEX MATCH-formule om die tye uit kolom D te trek:

    =INDEX($D$3:$D$10, MATCH(A3, $E$3:$E$10, 0))

    En dan nes jy dit in die bogenoemde generiese formule om die opgevangde foute te vervang met enige teks wat jy wil hê:

    =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)))

    Let wel. Soos met die IF ISERROR VLOOKUP-formule, maak dit meer sin om slegs #N/A-foute vas te vang en nie potensiële probleme met die formule self te verdoesel nie. Vir hierdie, draai jou INDEX MATH formule in IFNA in Excel 2013 en hoër of IF ISNA in vroeër weergawes.

    ASISERROR Ja/Nee formule

    In al die vorige voorbeelde, IF ISERROR het die resultaat van die hoofformule teruggegee as dit nie 'n fout is nie. Dit kan egter ook op 'n ander manier werk - gee iets terug as fout en iets anders as geen fout nie.

    IF(ISERROR( formule (…)), " text_if_error " , " text_if_no_error ")

    In ons voorbeelddatastel, veronderstel jy stel nie belang in die presiese tye nie, jy wil net weet watter deelnemers van groep A gekwalifiseer is en watter nie. Om dit te doen, gebruik die MATCH-funksie om die naam in kolom A te vergelyk met die lys van die gekwalifiseerde deelnemers in kolom D, en dien dan die resultate na IERROR. As die naam nie in kolom D beskikbaar is nie (MATCH gee 'n fout), kry die IF-funksie om "Nee" of "Nie gekwalifiseerd" te vertoon. As die naam in kolom D verskyn (geen fout nie), gee "Ja" of "Gekwalifiseerd" terug.

    =IF(ISERROR(MATCH(A3, $D$3:$D$10, 0)), "No", "Yes" )

    Hoe om die aantal foute te tel

    Om die aantal foute in 'n sekere kolom te kry, moet jy 'n reeks nagaan, nie net een sel nie. Hiervoor "voer" die teikenreeks na IERROR en dwing die teruggekeerde Boole-waardes in 1'e en 0'e deur die dubbel unêre operateur (--) te gebruik. Die SOM- of SOMPRODUCT-funksie kan die getalle bymekaartel en die finale resultaat lewer.

    Byvoorbeeld:

    =SUM(--ISERROR(C2:C10))

    Let wel, dit werk as 'n gewone formule slegs in Excel 365 en Excel 2021, wat dinamiese skikkings ondersteun. In Excel 2019 en vroeër, jymoet Ctrl + Shift + Enter druk om 'n skikkingsformule te skep (moenie krulhakies handmatig tik nie, dit sal nie werk nie!):

    {=SUM(--ISERROR(C2:C10))}

    Alternatiewelik kan jy die SUMPRODUCT gebruik funksie wat skikkings inheems hanteer, dus kan die formule voltooi word met die gewone Enter-sleutel in alle weergawes:

    =SUMPRODUCT(--ISERROR(C2:C10))

    Verskil tussen ISERROR en IFERROR in Excel

    Beide die ISERROR- en IFERROR-funksies word gebruik om foute in Excel vas te vang en te hanteer. Die verskil is soos volg:

    • In sy suiwer vorm, toets ISERROR net of die waarde 'n fout is of nie. Dit is beskikbaar in alle Excel-weergawes.
    • Die IFERROR-funksie is ontwerp om foute te onderdruk of te verdoesel - wanneer 'n fout gevind word, gee dit 'n ander waarde terug wat jy spesifiseer. Dit is beskikbaar in Excel 2007 en hoër.

    Op die eerste oogopslag lyk IFERROR na 'n snelskrif-alternatief vir die IF ISERROR-formule. As jy egter van nader kyk, kan jy die verskil sien:

    • IFERROR laat jou toe om slegs waarde_as_fout te spesifiseer. As daar geen fout is nie, gee dit altyd die resultaat van die getoetste waarde/formule terug.
    • AS IERROR bied meer buigsaamheid en laat jou beide situasies hanteer - wat moet gebeur as 'n fout en wat as geen fout nie.

    Om die punt beter te illustreer, oorweeg hierdie formules:

    =IFERROR(A1, "Calculation error")

    =IF(ISERROR(A1), "Calculation error", A1)

    Hierdie twee formules is ekwivalent - beide kontroleer 'n formulegedrewe waarde in A1 en keer terug"Berekeningsfout" as dit 'n fout is, anders - gee die waarde terug.

    Maar wat as jy 'n berekening wil uitvoer as die waarde in A1 nie 'n fout is nie? Die IFERROR-funksie kan dit nie doen nie. In die geval van IF IERROR, tik net die verlangde berekening in die laaste argument. Byvoorbeeld:

    =IF(ISERROR(A1), "Calculation error", A1*2)

    Soos jy sien, kan hierdie langer variasie van die IFERROR-formule, wat dikwels as verouderd beskou word, steeds nuttig wees :)

    Beskikbare aflaaie

    ISERROR formule voorbeelde (.xlsx lêer)

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.