Sisukord
Selles õpetuses vaatleme, kuidas kasutada ISERROR-i koos VLOOKUP-iga Excelis, et käsitleda igasuguseid vigu produktiivselt.
VLOOKUP on üks kõige segasematest Exceli funktsioonidest, mida vaevavad paljud probleemid. Ükskõik, millises tabelis te vaatate, #N/A vead on tavaline nähtus, aeg-ajalt ilmnevad ka #NAME ja #VALUE. VLOOKUPi kasutamine koos ISERRORiga aitab teil tabada kõik võimalikud vead ja käsitleda neid kõige sobivamal viisil.
Miks VLOOKUP annab vea?
Kõige tavalisem viga VLOOKUP-valemites on järgmine #N/A kui otsinguväärtust ei leita. See võib juhtuda erinevatel põhjustel:
- Otsinguväärtust ei ole otsingumassiivis olemas.
- Otsinguväärtus on valesti kirjutatud.
- Otsinguväärtuses või otsinguväravas on ees- või tagantjärele tühikuid.
- Otsingusammas ei ole tabeli massiivi kõige vasakpoolsem veerg.
Pealegi võite sattuda #VALUE! viga, nt kui otsinguväärtus sisaldab rohkem kui 255 tähemärki. Kui funktsiooni nimes on kirjavea, siis kuvatakse funktsiooni #NAME? ilmub viga.
Täieliku viite saamiseks vaadake meie varasemat postitust Miks Excel VLOOKUP ei tööta.
IF ISERROR VLOOKUP valem, et asendada vead kohandatud tekstiga
Et varjata kõiki võimalikke vigu, mida VLOOKUP võib vallandada, võite paigutada selle IF ISERROR valemi sisse järgmiselt:
IF(ISERROR(VLOOKUP(...)), " text_if_error ", VLOOKUP(....))Näiteks tõmbame välja nende ainete nimed, milles rühma A õpilased testides läbi kukkusid:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
Selle tulemusena saate hulga #N/A vigu, mis võivad jätta mulje, et valem on vigane.
Tegelikult näitavad need vead lihtsalt, et mõned otsinguväärtused (A3:A14) ei leidu otsingulisti (D3:D9). Et seda mõtet selgelt edasi anda, pesitse oma VLOOKUP-valem IF ISERROR konstruktsioonis:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
See püüab vead ja tagastab teie kohandatud tekstisõnumi:
Näpunäited ja märkused:
- Selle valemi peamine eelis on see, et see töötab kenasti kõik versioonid Excel 2000 kuni Excel 365. Tänapäevastes versioonides on olemas lihtsamad ja kompaktsemad alternatiivid.
- Funktsioon ISERROR püüab absoluutselt kõik vead , näiteks #N/A, #NAME, #VALUE jne. Juhul kui soovite kuvada kohandatud sõnumit ainult siis, kui otsinguväärtust ei leita (#N/A viga), kasutage IF ISNA VLOOKUP (kõigis versioonides) või IFNA VLOOKUP (Excel 2013 ja uuemad versioonid).
ISERROR VLOOKUP, et tagastada tühi lahter, kui viga esineb
Et vea korral oleks lahter tühi, saada oma valemiga kohandatud teksti asemel tagasi tühi string (""):
IF(ISERROR(VLOOKUP(...)), "", VLOOKUP(...))Meie puhul on valem selline:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Tulemus on täpselt selline nagu oodatud - tühi lahter, kui õpilase nime ei leidu otsingutabelis.
Vihje. Samamoodi saate VLOOKUP-i vead asendada nullide, kriipsude või mis tahes muu soovitud märgiga. Lihtsalt kasutage tühja stringi asemel soovitud märki.
IF ISERROR VLOOKUP Jah/ei valemiga Jah/ei
Mõnes olukorras võite otsida midagi, kuid selle asemel, et tõmmata tikud lihtsalt tahavad naasta Jah (või mõni muu tekst, kui otsinguväärtus leitakse) ja Ei (kui otsinguväärtust ei leita). Selleks võite kasutada seda üldist valemit:
IF(ISERROR(VLOOKUP(...)), " text_if_not_found ", " text_if_found ")Oletame, et meie näidisandmestiku puhul soovite teada saada, millised õpilased jäid testis läbi kukkuma ja millised mitte. Selleks serveerige juba tuttavat ISERROR VLOOKUP valemit loogilisele testile IF ja käskige tal väljastada "Ei", kui väärtust ei leitud (ISERROR VLOOKUP tagastab TRUE), "Jah", kui leitud (ISERROR VLOOKUP tagastab FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "Ei", "Jah")
ISERROR VLOOKUP alternatiivid
Kombinatsioon IF ISERROR on vanim ajas tõestatud tehnika Vlookup'i vigadeta teostamiseks Excelis. Aja jooksul on arenenud uusi funktsioone, mis pakuvad lihtsamaid viise sama ülesande täitmiseks. Järgnevalt arutame teisi võimalikke lahendusi ja seda, millal igaüht neist on kõige parem rakendada.
IFERROR VLOOKUP
Kättesaadav Excel 2007 ja uuemad versioonid
Alates versioonist 2007 on Excelil spetsiaalne funktsioon nimega IFERROR, mille abil saab kontrollida valemit vigade suhtes ja tagastada oma teksti (või käivitada alternatiivse valemi), kui mõni viga avastatakse.
IFERROR(VLOOKUP(...), " text_if_error ")Reaalse elu valem on järgmine:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Esmapilgul tundub see olevat IF ISERROR VLOOKUP valemi lühem analoog. Siiski on oluline erinevus:
- IFERROR VLOOKUP eeldab, et soovite alati VLOOKUPi tulemust, kui see ei ole viga.
- IF ISERROR VLOOKUP võimaldab määrata, mida tagastada, kui esineb viga ja mida, kui viga ei esine.
Lisateavet leiate jaotisest IFERRORi kasutamine VLOOKUPiga Excelis.
IF ISNA VLOOKUP
Töötab Excel 2000 ja hilisemates programmides
Olukorras, kus tahetakse püüda ainult #N/A ilma teisi vigu kinni püüdmata, tuleb appi funktsioon ISNA. Süntaks on sama, mis IF ISERROR VLOOKUPil:
IF(ISNA(VLOOKUP(...)), " text_if_error ", VLOOKUP(....))Kuid teatud tingimustel võib see näiliselt identne valem anda erinevaid tulemusi:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Alloleval pildil sisaldab lahter A13 rohkelt tagumisi tühikuid, mille tõttu otsinguväärtuse kogupikkus ületab 255 tähemärki. Selle tulemusena vallandab valem #VALUE! vea, mis juhib teie tähelepanu sellele lahtrile ja julgustab uurima põhjuseid. ISERROR VLOOKUP annaks sel juhul tagasi "No", mis ainult hägustaks probleemi ja annaks täiesti vale tulemuse.
Millal kasutada:
See valem töötab suurepäraselt olukorras, kus soovite kuvada mingit teksti ainult siis, kui otsinguväärtust ei leita, ja ei soovi varjata VLOOKUP-valemi enda aluseks olevaid probleeme, nt kui funktsiooni nimi on valesti kirjutatud (#NAME?) või kui otsingu töövihiku täielik tee ei ole määratud (#VALUE!).
Lisateavet leiate ISNA funktsioonist Excelis koos valemite näidetega.
IFNA VLOOKUP
Kättesaadav Excel 2013 ja uuemad versioonid
See on IF ISNA kombinatsiooni kaasaegne asendaja, mis võimaldab lihtsamalt käsitleda #N/A vigu.
IFNA(VLOOKUP(...), " text_if_error ")Siin on meie IF ISNA VLOOKUP-vormeli lühendatud ekvivalent:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Millal kasutada:
See on ideaalne lahendus #N/A vigade püüdmiseks ja käsitlemiseks Exceli kaasaegsetes versioonides (2013 - 365).
Täielik teave on esitatud Exceli IFNA-funktsioonis.
XLOOKUP
Toetatud Excel 2021 ja Excel 365
Tänu oma sisseehitatud "if error" funktsioonile on XLOOKUP funktsioon kõige lihtsam viis otsida ilma #N/A vigadeta Excelis. Lihtsalt, kirjutage oma kasutajasõbralik tekst valikulisse 4. argumenti nimega if_not_found .
Näiteks:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "No")
Piirang: See püüab ainult #N/A vigu, ignoreerides teisi tüüpe.
Lisateavet leiate Exceli funktsioonist XLOOKUP.
Nagu näete, pakub Excel üsna palju erinevaid võimalusi, et saada VLOOKUP-i vigade suhtes rig. Loodetavasti on see õpetus valgustanud, kuidas neid efektiivselt kasutada. Tänan teid lugemise eest ja loodan, et näeme teid järgmisel nädalal meie blogis!
Saadaolevad allalaadimised
ISERROR koos VLOOKUPi näidetega (.xlsx fail)