Sadržaj
U ovom vodiču ćemo pogledati kako koristiti ISERROR sa VLOOKUP-om u Excel-u za produktivno rukovanje svim vrstama grešaka.
VLOOKUP je jedna od najzbunjujućih funkcija Excel-a. sa mnogim pitanjima. U kojoj god tabeli da tražite, #N/A greške su uobičajeni prizor, a #NAME i #VALUE se također pojavljuju s vremena na vrijeme. Upotreba VLOOKUP-a sa ISERROR može vam pomoći da uhvatite sve moguće greške i riješite ih na način koji najviše odgovara vašoj situaciji.
Zašto VLOOKUP daje grešku?
Najviše uobičajena greška u VLOOKUP formulama je #N/A koja se javlja kada nije pronađena vrijednost pretraživanja. Ovo se može dogoditi iz različitih razloga:
- Vrijednost pretraživanja ne postoji u nizu pretraživanja.
- Vrijednost pretraživanja je pogrešno napisana.
- Postoje vodeće ili zadnji razmaci u vrijednosti pretraživanja ili stupcu pretraživanja.
- Kolonac za traženje nije krajnji lijevi stupac niza tablice.
Osim toga, možete naići na #VALUE ! greška, npr. kada vrijednost pretraživanja sadrži više od 255 znakova. U slučaju da postoji pravopisna greška u nazivu funkcije, pojavit će se greška #NAME? .
Za potpunu referencu pogledajte naš raniji post o tome Zašto Excel VLOOKUP ne radi.
IF ISERROR VLOOKUP formula za zamjenu grešaka prilagođenim tekstom
Da biste prikrili sve moguće greške koje može pokrenuti VLOOKUP, možete je smjestiti unutar formule IF ISERRORovako:
IF(ISERROR(VLOOKUP(…)), " text_if_error", VLOOKUP(...))Kao primjer, izvucimo nazive predmeta u kojima su studenti grupa A neuspjeli testovi:
=VLOOKUP(A3, $D$3:$E$9, 2, FALSE)
Kao rezultat, dobijate gomilu grešaka #N/A, što može stvoriti utisak da je formula oštećena.
Uistinu, ove greške samo ukazuju na to da neke od vrijednosti pretraživanja (A3:A14) nisu pronađene na popisu pretraživanja (D3:D9). Da biste jasno prenijeli tu ideju, ugniježdite svoju VLOOKUP formulu u konstrukciju IF ISERROR:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Ovo će uhvatiti greške i vratiti vašu prilagođenu tekstualnu poruku:
Savjeti i napomene:
- Glavna prednost ove formule je ta što lijepo radi u svim verzijama Excela 2000 do Excel 365. U modernim verzijama, jednostavnije a dostupne su i kompaktnije alternative.
- Funkcija ISERROR hvata apsolutno sve greške , kao što su #N/A, #NAME, #VALUE, itd. U slučaju da želite prikazati prilagođenu poruka samo kada nije pronađena vrijednost pretraživanja (#N/A greška), koristite IF ISNA VLOOKUP (u svim verzijama) ili IFNA VLOOKUP (u Excel 2013 i novijim).
ISERROR VLOOKUP za vrati praznu ćeliju ako greška
Da biste imali praznu ćeliju kada dođe do greške, neka vaša formula vrati prazan niz ("") umjesto prilagođenog teksta:
IF(ISERROR(VLOOKUP(…)) ), "", VLOOKUP(…))U našem slučaju, formula ima ovaj oblik:
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
rezultat je upravo onakav kakav se očekivao - prazna ćelija ako se ime učenika ne nalazi u tabeli za pretraživanje.
Savjet. Na sličan način možete zamijeniti VLOOKUP greške nulama, crticama ili bilo kojim drugim znakom koji vam se sviđa. Samo koristite željeni znak umjesto praznog niza.
IF ISERROR VLOOKUP Formula Da/Ne
U nekoj situaciji, možda tražite nešto, ali umjesto povlačenja podudaranja samo želite vratiti Da (ili neki drugi tekst ako tražena vrijednost je pronađena) i Ne (ako vrijednost pretraživanja nije pronađena). Da biste to učinili, možete koristiti ovu generičku formulu:
IF(ISGREŠKA(VLOOKUP(…)), " tekst_ako_nije_pronađen ", " tekst_ako_nađen ")U našem uzorak skupa podataka, pretpostavimo da želite da znate koji učenici su pali na testu, a koji nisu. Da biste to postigli, poslužite već poznatu formulu ISERROR VLOOKUP logičkom testu IF i recite mu da ispiše "Ne" ako vrijednost nije pronađena (ISERROR VLOOKUP vraća TRUE), "Da" ako je pronađena (ISERROR VLOOKUP vraća FALSE):
=IF(ISERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", "Yes")
Alternative ISERROR VLOOKUP
Kombinacija IF ISERROR najstarija je dokazana tehnika za Vlookup bez grešaka u Excelu. Vremenom su se razvijale nove funkcije, pružajući lakše načine za obavljanje istog zadatka. U nastavku ćemo razgovarati o drugim mogućim rješenjima i kada je svako najbolje primijeniti.
IFERROR VLOOKUP
Dostupno u Excel 2007 iviši
Počevši od verzije 2007, Excel ima posebnu funkciju, pod nazivom IFERROR, za provjeru formule za greške i vraćanje vlastitog teksta (ili pokretanje alternativne formule) ako se otkrije bilo kakva greška.
IFERROR(VLOOKUP(…), " text_if_error ")Formula iz stvarnog života je sljedeća:
=IFERROR(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Na prvi pogled izgleda kao kraći analog formule IF ISERROR VLOOKUP. Međutim, postoji suštinska razlika:
- IFERROR VLOOKUP pretpostavlja da uvijek želite rezultat VLOOKUP-a ako nije greška.
- IF ISERROR VLOOKUP vam omogućava da odredite šta želite vrati ako greška i šta ako nema greške.
Za više detalja, pogledajte Korištenje IFERROR s VLOOKUP-om u Excelu.
IF ISNA VLOOKUP
Radi u Excelu 2000 i novijim
U situaciji kada želite da uhvatite samo #N/A bez hvatanja bilo koje druge greške, ISNA funkcija je zgodna. Sintaksa je ista kao kod IF ISERROR VLOOKUP:
IF(ISNA(VLOOKUP(…)), " text_if_error ", VLOOKUP(...))Ali pod određenim okolnostima, ovo naizgled identična formula može proizvesti različite rezultate:
=IF(ISNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE)), "No", VLOOKUP(A3, $D$3:$E$9, 2, FALSE))
Na slici ispod, ćelija A13 sadrži dosta razmaka na kraju zbog kojih ukupna dužina vrijednosti pretraživanja prelazi 255 znakova. Kao rezultat, formula pokreće #VRIJEDNOST! greška, skrećući vašu pažnju na tu ćeliju i ohrabrujući da istražite razloge. ISERRORVLOOKUP bi u ovom slučaju vratio "Ne", što bi samo prikrilo problem i dalo apsolutno pogrešan rezultat.
Kada koristiti:
Ova formula radi lijepo u situaciji kada želite prikazati neki tekst samo kada vrijednost pretraživanja nije pronađena i ne želite prikriti osnovne probleme sa samom VLOOKUP formulom, npr. kada je ime funkcije pogrešno upisano (#NAME?) ili puna staza do radne knjige pretraživanja nije navedena (#VALUE!).
Za više informacija, pogledajte ISNA funkciju u Excelu s primjerima formule.
IFNA VLOOKUP
Dostupno u Excelu 2013 i novijim
To je moderna zamjena IF ISNA kombinacije koja vam omogućava rukovanje #N/A greškama u lakši način.
IFNA(VLOOKUP(…), " text_if_error ")Ovo je skraćeni ekvivalent naše IF ISNA VLOOKUP formule:
=IFNA(VLOOKUP(A3, $D$3:$E$9, 2, FALSE), "No")
Kada koristiti:
To je idealno rješenje za hvatanje i rukovanje #N/A greškama u modernim verzijama Excel-a (2013 - 365).
Za sve detalje pogledajte Excel IFNA funkcija.
XLOOKUP
Podržano u Excelu 2021 i Excel 365
Zbog ugrađene funkcije "ako greška" , funkcija XLOOKUP je najlakši način za traženje bez #N/A grešaka u Excelu. Jednostavno, unesite tekst prilagođen korisniku u opcioni 4. argument pod nazivom if_not_found .
Na primjer:
=XLOOKUP(A3, $D$3:$D$9, $E$3:$E$9, "No")
Ograničenje: hvata samo #N/A greške, ignorirajućidruge vrste.
Za više informacija, pogledajte funkciju XLOOKUP u Excel-u.
Kao što vidite, Excel pruža dosta različitih opcija za podešavanje grešaka VLOOKUP-a. Nadamo se da je ovaj vodič bacio malo svjetla na to kako ih efikasno koristiti. Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeće sedmice!
Dostupna preuzimanja
ISERROR s VLOOKUP primjerima (.xlsx fajl)