Sisukord
Õpik näitab, kuidas kasutada Excelis IFERRORi, et püüda vigu ja asendada need tühja lahtri, teise väärtuse või kohandatud sõnumiga. Saate teada, kuidas kasutada funktsiooni IFERROR koos Vlookup ja Index Match ning kuidas see on võrreldav IF ISERRORi ja IFNAga.
"Anna mulle koht, kus seista, ja ma liigutan maad," ütles kunagi Archimedes. "Anna mulle valem, ja ma panen selle vigu tagastama," ütleks üks Exceli kasutaja. Selles õpetuses ei vaatle me, kuidas Excelis vigu tagastada, vaid õpime pigem, kuidas neid vältida, et hoida oma töölehed puhtad ja valemid läbipaistvad.
Exceli funktsioon IFERROR - süntaks ja põhilised kasutusalad
Exceli funktsioon IFERROR on mõeldud valemite ja arvutuste vigade püüdmiseks ja haldamiseks. Täpsemalt öeldes kontrollib IFERROR valemit ja kui see annab vea, siis tagastab mõne muu määratud väärtuse; vastasel juhul tagastab valemi tulemuse.
Exceli IFERROR-funktsiooni süntaks on järgmine:
IFERROR(value, value_if_error)Kus:
- Väärtus (kohustuslik) - mida kontrollida vigade suhtes. See võib olla valem, väljend, väärtus või lahtriviide.
- Value_if_error (kohustuslik) - mida tagastada, kui leitakse viga. See võib olla tühi string (tühi lahter), tekstisõnum, numbriline väärtus, muu valem või arvutus.
Näiteks kahe numbrite veeru jagamisel võite saada hulga erinevaid vigu, kui üks veergudest sisaldab tühje lahtreid, nulle või teksti.
Selle vältimiseks kasutage funktsiooni IFERROR, et püüda ja käsitleda vigu nii, nagu soovite.
Kui viga, siis tühi
Anda tühi string ("), et value_if_error argument, et tagastada tühi lahter, kui leitakse viga:
=IFERROR(A2/B2, "")
Kui viga, siis näidata sõnumit
Samuti saate Exceli standardse veamärgistuse asemel kuvada omaenda sõnumi:
=IFERROR(A2/B2, "Arvutusviga")
5 asja, mida peaksite teadma Exceli IFERROR-funktsioonist
- Exceli funktsioon IFERROR käsitleb kõiki veatüüpe, sealhulgas #DIV/0!, #N/A, #NAME?, #NULL!, #NUM!, #REF! ja #VALUE!.
- Sõltuvalt sisu value_if_error argumendiga IFERROR saab asendada vead teie kohandatud tekstisõnumi, numbri, kuupäeva või loogilise väärtusega, teise valemi tulemusega või tühja stringiga (tühi lahter).
- Kui väärtus argument on tühi lahter, käsitletakse seda tühja stringina (''''), kuid mitte veana.
- IFERROR võeti kasutusele Excel 2007is ja on saadaval kõigis järgnevates Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 ja Excel 365 versioonides.
- Vigade püüdmiseks Excel 2003 ja varasemates versioonides kasutage funktsiooni ISERROR koos IF, nagu on näidatud selles näites.
IFERROR valemi näited
Järgmised näited näitavad, kuidas kasutada Excelis IFERRORi koos teiste funktsioonidega, et täita keerulisemaid ülesandeid.
Excel IFERROR koos Vlookupiga
Üks IFERROR-funktsiooni kõige tavalisemaid kasutusviise on teatada kasutajatele, et otsitav väärtus ei ole andmekogumis olemas. Selleks mähkige VLOOKUP-vormel IFERRORiga järgmiselt:
IFERROR(VLOOKUP( ... ), "Ei leitud")Kui otsinguväärtust ei ole tabelis, mida te otsite, tagastab tavaline Vlookup-valem #N/A vea:
Kasutajate meelerahu tagamiseks mähkige VLOOKUP IFERROR-i ja kuvage informatiivsem ja kasutajasõbralikum sõnum:
=IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")
Allpool olev ekraanipilt näitab seda Iferror valemit Excelis:
Kui soovite püüda ainult #N/A vigu, kuid mitte kõiki vigu, kasutage IFERRORi asemel funktsiooni IFNA.
Rohkem Exceli IFERROR VLOOKUP-valemi näiteid leiate nendest õpetustest:
- Iferror koos Vlookupiga vigade püüdmiseks ja käsitlemiseks
- Kuidas saada N-nda otsinguväärtuse esinemine
- Kuidas saada kõik otsinguväärtuse esinemised
Sisestatud IFERROR-funktsioonid Exceli järjestikuste Vlookup'ide tegemiseks
Olukordades, kus teil on vaja teha mitu Vlookup'i, mis põhinevad sellel, kas eelmine Vlookup õnnestus või ebaõnnestus, saate pesitseda kaks või enam IFERROR-funktsiooni üksteise sisse.
Oletame, et teil on mitu müügiaruannet teie ettevõtte piirkondlikest filiaalidest ja te soovite saada summa teatud tellimuse ID kohta. Kui A2 on otsinguväärtus praegusel lehel ja A2:B5 on otsinguväli 3 otsingulehel (aruanne 1, aruanne 2 ja aruanne 3), siis valem on järgmine:
=IFERROR(VLOOKUP(A2, "Aruanne 1"!A2:B5,2,0),IFERROR(VLOOKUP(A2, "Aruanne 2"!A2:B5,2,0),IFERROR(VLOOKUP(A2, "Aruanne 3"!A2:B5,2,0), "ei leitud"))))
Tulemus näeb välja umbes nii:
Valemi loogika üksikasjalik selgitus on esitatud jaotises Kuidas teha järjestikuseid Vlookup'e Excelis.
IFERROR massiivi valemites
Nagu te ilmselt teate, on Exceli massiivi valemid mõeldud mitme arvutuse tegemiseks ühe valemi sees. Kui te esitate massiivi valemi või väljendi, mille tulemuseks on massiivi sisestatud väärtus funktsiooni IFERROR argumenti, tagastab see iga määratud vahemikus oleva lahtri väärtuste massiivi. Allpool esitatud näide näitab üksikasju.
Ütleme, et teil on Kokku veerus B ja Hind veerus C ja soovite arvutada Kogusumma Seda saab teha järgmiselt massiivi valem, mis jagab iga lahtri vahemikus B2:B4 vastava lahtriga vahemikus C2:C4 ja liidab tulemused kokku:
=SUM($B$2:$B$4/$C$2:$C$4)
Valem töötab hästi, kui jagajate vahemikus ei ole nulle või tühje lahtreid. Kui on vähemalt üks 0-väärtus või tühi lahter, saadakse tagasi viga #DIV/0!:
Selle vea parandamiseks tehke lihtsalt jagamine funktsioonis IFERROR:
=SUM(IFERROR($B$2:$B$4/$C$2:$C$4,0))
Valem jagab igas reas (100/2, 200/5 ja 0/0) veerus B oleva väärtuse veerus C oleva väärtusega ja tagastab tulemuste massiivi {50; 40; #DIV/0!}. Funktsioon IFERROR püüab kõik vead #DIV/0! ja asendab need nullidega. Seejärel liidab funktsioon SUM saadud massiivi {50; 40; 0} väärtused kokku ja väljastab lõpptulemuse (50+40=90).
Märkus. Pidage meeles, et massiivi valemid tuleb täita klahvikombinatsiooniga Ctrl + Shift + Enter.
IFERROR vs. IF ISERROR
Nüüd, kui te teate, kui lihtne on Excelis kasutada funktsiooni IFERROR, võite küsida, miks mõned inimesed kalduvad ikka veel kasutama kombinatsiooni IF ISERROR. Kas sellel on mingeid eeliseid võrreldes IFERRORiga? Ei mingeid. Vanadel halbadel Excel 2003 ja madalamatel aegadel, kui IFERRORi ei olnud olemas, oli IF ISERROR ainus võimalik viis vigade püüdmiseks. Excel 2007 ja hilisemates versioonides on see lihtsalt veidi keerulisem viis, kuidassaavutada sama tulemus.
Näiteks Vlookup-vigade püüdmiseks võite kasutada ükskõik millist allpool esitatud valemit.
Excel 2007 - Excel 2016:
IFERROR(VLOOKUP( ... ), "Ei leitud")Kõikides Exceli versioonides:
IF(ISERROR(VLOOKUP(...)), "Ei leitud", VLOOKUP(...))Pange tähele, et IF ISERROR VLOOKUP valemis tuleb Vlookup kaks korda. Lihtsas keeles saab valemit lugeda järgmiselt: Kui Vlookup annab vea, tagastage "Not found", vastasel juhul väljastage Vlookup'i tulemus.
Ja siin on reaalne näide Exceli If Iserror Vlookup valemist:
=IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Ei leitud", VLOOKUP(D2, A2:B5,2,FALSE ))
Lisateavet leiate jaotisest ISERROR-funktsiooni kasutamine Excelis.
IFERROR vs. IFNA
Excel 2013iga kasutusele võetud IFNA on veel üks funktsioon valemi vigade kontrollimiseks. Selle süntaks on sarnane IFERRORiga:
IFNA(value, value_if_na)Mille poolest erineb IFNA IFERRORist? IFNA-funktsioon püüab ära ainult #N/A vead samas kui IFERROR käsitleb kõiki veatüüpe.
Millistes olukordades võiksite kasutada IFNA-d? Kui kõiki vigu ei ole mõistlik varjata. Näiteks kui töötate oluliste või tundlike andmetega, võite soovida, et teid hoiatataks võimalike vigade eest andmekogumis ja Exceli standardsed veateated koos sümboliga "#" võiksid olla elulised visuaalsed indikaatorid.
Vaatame, kuidas saate teha valemi, mis kuvab teate "Ei leitud" asemel N/A-viga, mis ilmub siis, kui otsinguväärtust ei ole andmekogumis olemas, kuid toob teie tähelepanu muudele Exceli vigadele.
Oletame, et soovite tõmmata Qty. otsingutabeli koondtabelisse, nagu on näidatud alloleval ekraanipildil. Exceli Iferror Vlookup valemi kasutamine annaks esteetiliselt meeldiva tulemuse, mis on tehniliselt vale, sest Sidrunid on olemas otsingutabeli:
Et püüda #N/A, kuid kuvada #DIV/0 viga, kasutage Excel 2013 ja Excel 2016 funktsioon IFNA:
=IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Ei leitud")
Või kombinatsioon IF ISNA Excel 2010 ja varasemates versioonides:
=IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Ei leitud", VLOOKUP(F3,$A$3:$D$6,4,FALSE))
IFNA VLOOKUP ja IF ISNA VLOOKUP valemite süntaks on sarnane eelnevalt käsitletud IFERROR VLOOKUP ja IF ISERROR VLOOKUP valemite süntaksiga.
Nagu on näidatud alloleval ekraanipildil, annab Ifna Vlookup valem "Not found" ainult selle elemendi puhul, mida ei ole otsingutabelis ( Virsikud ). Sest Sidrunid näitab see #DIV/0!, mis näitab, et meie otsingutabel sisaldab nulliga jagamise viga:
Lisateavet leiate jaotisest IFNA-funktsiooni kasutamine Excelis.
Parimad tavad IFERRORi kasutamiseks Excelis
Nüüdseks te juba teate, et funktsioon IFERROR on kõige lihtsam viis, kuidas Excelis vigu tabada ja neid tühjade lahtrite, nullväärtuste või omaenda kohandatud teadetega maskeerida. See ei tähenda siiski, et peaksite iga valemit vigade käsitlemisega ümbritsema. Järgnevad lihtsad soovitused võivad aidata teil tasakaalu hoida.
- Ärge püüdke vigu ilma põhjuseta.
- Mähkida valemi väikseim võimalik osa IFERRORi.
- Kui soovite käsitleda ainult konkreetseid vigu, kasutage väiksema ulatusega veakäitlusfunktsiooni:
- IFNA või IF ISNA, et püüda ainult #N/A vigu.
- ISERR, et tabada kõik vead, välja arvatud #N/A.
Nii kasutate Excelis funktsiooni IFERROR vigade püüdmiseks ja käsitlemiseks. Et lähemalt tutvuda selles õpetuses käsitletud valemitega, olete teretulnud alla laadima meie näidis-Exceli töövihiku IFERROR. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis.