Sadržaj
Da li vaš VLOOKUP izvlači pogrešne podatke ili ga uopće ne možete natjerati da radi? Ovaj vodič pokazuje kako možete brzo popraviti uobičajene VLOOKUP greške i prevladati njegova glavna ograničenja.
U nekoliko ranijih članaka istražili smo različite aspekte funkcije Excel VLOOKUP. Ako ste nas pomno pratili, do sada biste trebali biti stručnjak u ovoj oblasti :)
Međutim, nije bez razloga što mnogi stručnjaci za Excel VLOOKUP smatraju jednom od najzamršenijih Excel funkcija. Ima gomilu ograničenja, koja su izvor raznih problema i grešaka.
U ovom članku ćete pronaći jednostavna objašnjenja glavnih uzroka VLOOKUP grešaka kao što su #N/A, #NAME i #VALUE, kao i njihova rješenja i popravke. Počećemo s najočitijim razlozima zašto VLOOKUP ne radi, pa bi možda bilo dobro da pogledate donje korake za rješavanje problema po redu.
Popravljanje greške #N/A u VLOOKUP
U VLOOKUP formulama, poruka o grešci #N/A (što znači "nije dostupno") prikazuje se kada Excel ne može pronaći traženu vrijednost. Može biti nekoliko razloga zašto se to može dogoditi.
1. Vrijednost pretraživanja je pogrešno napisana
Uvijek je dobra ideja prvo provjeriti najočigledniju stvar : ) Greške se često javljaju kada radite sa zaista velikim skupovima podataka koji se sastoje od hiljada redova ili kada se unese vrijednost za traženje direktno u formuli.
2.VLOOKUP ne može odabrati niz tablice u drugom radnom listu (tj. kada označite raspon u listu za pretraživanje, ništa se ne pojavljuje u argumentu table_array u formuli ili u odgovarajućem polju formule wizard), tada su najvjerovatnije dva lista otvorena u odvojenim instancama Excela i ne mogu međusobno komunicirati. Za više informacija pogledajte Kako odrediti koje se Excel datoteke nalaze u kojoj instanci. Da biste ovo popravili, jednostavno zatvorite sve Excel prozore, a zatim ponovo otvorite listove/radne knjige u istoj instanci (podrazumevano ponašanje). Kako pregledati bez grešaka u Excelu
Ako ne želite da zastrašite svoje korisnike standardnim Excel notacijama grešaka, umjesto toga možete prikazati vlastiti tekst prilagođen korisniku ili vratiti praznu ćeliju ako ništa nije pronađeno. Ovo se može učiniti korištenjem VLOOKUP s IFERROR ili IFNA funkcijom.
Uhvati sve greške
U Excelu 2007 i novijim verzijama možete koristiti funkciju IFERROR da provjerite VLOOKUP formulu za greške i vratite svoju vlastiti tekst (ili prazan niz) ako se otkrije bilo koja greška .
Na primjer:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
U programu Excel 2003 i starijim, možete koristite formulu IF ISERROR za istu svrhu:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))
Za više detalja pogledajte Korištenje IFERROR sa VLOOKUP-om u Excel-u.
Rukovati #N/A greškama
Da biste uhvatili samo #N/A greške ignorirajući sve druge vrste grešaka, koristite funkciju IFNA (u Excel 2013 iviši) ili IF ISNA formula (u svim verzijama).
Na primjer:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, no match is found. Please try again!")
=IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, no match is found. Please try again!", VLOOKUP(E1, A2:B10, 2, FALSE))
To je sve za danas. Nadamo se da će vam ovaj vodič pomoći da se riješite VLOOKUP grešaka i da vaše formule rade na način na koji želite.
Kako VLOOKUP u Excelu - video vodič
#N/A u približnom podudaranju VLOOKUPAko vaša formula traži najbliže podudaranje, ( range_lookup argument postavljen na TRUE ili izostavljen), greška #N/A može se pojaviti u dva slučaja :
- Vrijednost traženja je manja od najmanje vrijednosti u nizu pretraživanja.
- Kolonac pretraživanja nije sortiran uzlaznim redoslijedom.
3 . #N/A u potpunom podudaranju VLOOKUP
Ako tražite točno podudaranje ( range_lookup argument postavljen na FALSE), #N/A greška se javlja kada je vrijednost tačno jednaka traženju vrijednost nije pronađena. Za više informacija pogledajte VLOOKUP tačno podudaranje u odnosu na približno podudaranje.
4. Kolona za traženje nije krajnja lijeva kolona niza tablice
Jedno od najznačajnijih ograničenja Excel VLOOKUP-a je da ne može gledati lijevo. Prema tome, kolona za pretraživanje uvijek treba biti krajnja lijeva kolona u nizu tablice. U praksi to često zaboravimo i završimo s greškama #N/A.
Rješenje : Ako nije moguće restrukturirati vaše podatke tako da kolona za traženje bude krajnja lijeva kolona, možete koristiti funkcije INDEX i MATCH zajedno kao alternativu VLOOKUP-u. Evo primjera formule: INDEX MATCH formula za traženje vrijednosti lijevo.
5. Brojevi su formatirani kao tekst
Još jedan uobičajeni izvor #N/A grešaka u VLOOKUP formulama su brojevi formatirani kao tekst, bilo u glavnoj ili u tabeli za pretraživanje.
Ovo običnojavlja se kada uvezete podatke iz neke vanjske baze podataka ili ako ste upisali apostrof ispred broja kako biste prikazali vodeće nule.
Evo najočitijih pokazatelja brojeva formatiranih kao tekst:
Rješenje: Odaberite sve problematične brojeve, kliknite na ikonu greške i odaberite Pretvori u broj iz kontekstnog izbornika. Za više informacija pogledajte Kako pretvoriti tekst u broj u Excel-u.
6. Prednji ili zadnji razmaci
Ovo je najmanje očigledan uzrok greške VLOOKUP #N/A jer ljudsko oko teško može uočiti te dodatne razmake, posebno kada se radi s velikim skupovima podataka gdje je većina unosa ispod skrolovanja .
Rješenje 1: Dodatni razmaci u vrijednosti pretraživanja
Da biste osigurali ispravan rad vaše VLOOKUP formule, umotajte vrijednost pretraživanja u funkciju TRIM:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Rješenje 2: Dodatni razmaci u koloni za pretraživanje
Ako se dodatni razmaci pojave u koloni za pretraživanje, postoji nije lak način da se izbjegnu #N/A greške u VLOOKUP-u. Umjesto toga, možete koristiti kombinaciju funkcija INDEX, MATCH i TRIM kao formulu niza:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Pošto je ovo formula niza, ne zaboravite pritisnuti Ctrl + Shift + Enter da ga pravilno dovršite (u Excel 365 i Excel 2021 gdje su nizovi izvorni, ovo također funkcionira kao obična formula).
Savjet. Brza alternativa je pokretanje alata Trim Spaces koji će eliminirativišak prostora i u pretraživanju i u glavnim tabelama u sekundi, čineći vaše VLOOKUP formule bez grešaka.
#VRIJEDNOST! greška u VLOOKUP formulama
Općenito, Microsoft Excel prikazuje #VALUE! greška ako je vrijednost korištena u formuli pogrešnog tipa podataka. Što se tiče VLOOKUP-a, postoje dva zajednička izvora VRIJEDNOSTI! greška.
1. Vrijednost pretraživanja premašuje 255 znakova
Imajte na umu da VLOOKUP ne može tražiti vrijednosti koje sadrže više od 255 znakova. Ako vaše vrijednosti pretraživanja premašuju ovo ograničenje, #VALUE! Greška će biti prikazana:
Rješenje : Umjesto toga koristite formulu INDEX MATCH. U našem slučaju, ova formula radi savršeno:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. Puna putanja do radne knjige za traženje nije dostavljena
Ako izvlačite podatke iz druge radne knjige, morate uključiti punu putanju do nje. Preciznije, morate priložiti ime radne knjige uključujući ekstenziju u [uglatim zagradama] i navesti naziv lista praćen znakom uzvika. Ako naziv radne knjige ili naziv lista, ili oboje, sadrže razmake ili bilo koje neabecedne znakove, putanja mora biti zatvorena u jednostruke navodnike.
Evo strukture argumenta table_array za Pregled iz druge radne knjige:
'[workbook name]sheet name'!range
Prava formula može izgledati slično ovome:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)
Gorenja formula će tražiti vrijednost A2 u koloni B lista 1 u NovoRadna knjiga Prices i vrati odgovarajuću vrijednost iz stupca D.
Ako nedostaje bilo koji element putanje, vaša VLOOKUP formula neće raditi i vratiti grešku #VALUE (osim ako je tražena radna knjiga trenutno otvori).
Za više informacija pogledajte:
- Kako se obratiti na drugi list ili radnu knjigu u Excelu
- Kako izvršiti Vlookup iz druge radne knjige
3. Argument col_index_num je manji od 1
Teško je zamisliti situaciju kada neko namjerno unese broj manji od 1 da navede kolonu iz koje će vratiti vrijednosti. Ali to se može dogoditi ako ovaj argument vrati neka druga funkcija ugniježđena u formuli VLOOKUP.
Dakle, ako je argument col_index_num veći od 1, vaša formula će vratiti #VALUE! greška također.
Ako je col_index_num veći od broja stupaca u nizu tablice, VLOOKUP proizvodi #REF! greška.
Rješavanje greške VLOOKUP #NAME
Ovo je najlakši slučaj - #NAME? pojavljuje se greška ako ste slučajno pogrešno napisali naziv funkcije.
Rješenje je očigledno - provjerite pravopis :)
Glavni uzroci grešaka u Excel VLOOKUP
Osim imajući prilično komplikovanu sintaksu, VLOOKUP ima nedvojbeno više ograničenja od bilo koje druge Excel funkcije. Zbog ovih ograničenja, naizgled ispravna formula često može dati rezultate drugačije od onih koje ste očekivali. Ispod ćete naćirješenja za nekoliko tipičnih scenarija kada VLOOKUP ne uspije.
VLOOKUP ne razlikuje velika i mala slova
Funkcija VLOOKUP ne razlikuje mala i velika slova kao identične.
Rješenje : Koristite VLOOKUP, XLOOKUP ili INDEX MATCH u kombinaciji s funkcijom EXACT koja može odgovarati malim i velikim slovima teksta. Detaljna objašnjenja i primjere formula možete pronaći u ovom vodiču: 5 načina da izvršite Vlookup osjetljiv na velika i mala slova u Excelu.
Novi stupac je umetnut ili uklonjen iz tabele
Nažalost, VLOOKUP formule prestanu raditi svaki put kada se novi stupac izbriše ili doda u tabelu za pretraživanje. To se događa zato što sintaksa funkcije VLOOKUP zahtijeva definiranje indeksnog broja povratne kolone. Kada se novi stupac doda/ukloni iz niza tablice, očito se taj broj indeksa mijenja.
Rješenje : Formula INDEX MATCH ponovo dolazi u pomoć: ) Sa INDEX MATCH, vi specificirajte raspone pretraživanja i povrata odvojeno, tako da ste slobodni da izbrišete ili umetnete onoliko stupaca koliko želite bez brige o ažuriranju svake povezane formule.
Reference ćelije se mijenjaju kada kopirate formulu u druge ćelije
Naslov daje iscrpno objašnjenje problema, zar ne?
Rješenje : Uvijek koristite apsolutne reference (sa znakom $) za argument table_array , npr. $A$2:$C$100 ili$A:$C. Možete brzo prelaziti između različitih tipova referenci pritiskom na tipku F4.
VLOOKUP vraća prvu pronađenu vrijednost
Kao što već znate, Excel VLOOKUP vraća prvu vrijednost koju pronađe. Međutim, možete ga natjerati da donese 2., 3., 4. ili bilo koju drugu pojavu koju želite. Postoji i način da dobijete posljednje podudaranje ili sva pronađena podudaranja.
Rješenja : Primjeri formula su dostupni ovdje:
- VLOOKUP i vraćanje N-tog pojavljivanja
- VLOOKUP više vrijednosti
- XLOOKUP formula za dobivanje posljednjeg podudaranja
Zašto moj VLOOKUP radi za neke ćelije, ali ne i za druge?
Kada VLOOKUP formula vraća ispravne podatke u nekim ćelijama i #N/A greške u drugim, može postojati nekoliko mogućih razloga zašto se to događa.
1. Niz tablice nije zaključan
Pretpostavimo da imate ovu formulu u redu 2 (recimo u E2), koja dobro funkcionira:
=VLOOKUP(D2, A2:B10, 2, FALSE)
Kada se kopira u red 3, formula se mijenja u:
=VLOOKUP(D3, A3:B11, 2, FALSE)
Budući da se relativna referenca koristi za table_array , mijenja se na osnovu relativnog položaja reda u koji je formula kopirana , u našem slučaju od A2:B10 do A3:B11. Dakle, ako je podudaranje u redu 2, neće biti pronađeno!
Rješenje : Kada koristite VLOOKUP formulu za više od jedne ćelije, uvijek zaključajte niz tablice referenca sa znakom $ poput $A$2:$B$10.
2. Tekstualne vrijednosti ili tipovi podataka se ne podudaraju
DrugoUobičajeni razlog za neuspjeh VLOOKUP-a je razlika između vaše vrijednosti pretraživanja i slične vrijednosti u koloni pretraživanja. U nekim slučajevima, razlika je toliko suptilna da ju je teško uočiti vizualno.
Rješenje : Kada VLOOKUP vraća grešku #N/A dok možete jasno vidjeti vrijednost pretraživanja u lookup kolona, a očito su oba napisana potpuno isto, prva stvar koju trebate učiniti je da utvrdite osnovni uzrok problema - formulu ili izvorne podatke.
Da biste vidjeli da li su te dvije vrijednosti isti ili različiti, napravite direktno poređenje na ovaj način:
=E1=A4
Gdje je E1 vaša tražena vrijednost, a A4 je identična vrijednost u koloni za pretraživanje.
Ako je formula vraća FALSE, što znači da se vrijednosti na neki način razlikuju, iako izgledaju apsolutno slično.
U slučaju numeričkih vrijednosti , najčešći razlog su brojevi formatirani kao tekst.
U slučaju tekstualnih vrijednosti , najvjerovatnije je problem u viškom razmaka. Da biste to potvrdili, saznajte ukupnu dužinu dva niza pomoću funkcije LEN:
=LEN(E1)
=LEN(A4)
Ako su rezultirajući brojevi različiti (kao na slici ispod ), tada ste precizno odredili krivca - dodatne razmake:
Da biste riješili problem, ili uklonite dodatne razmake ili koristite ovu formulu INDEX MATCH TRIM kao rješenje.
Zašto moj VLOOKUP izvlači pogrešne podatke?
Moglo bi biti još više razloga zaštovaš VLOOKUP vraća pogrešnu vrijednost:
- Neispravan način pretraživanja . Ako želite tačno podudaranje, obavezno postavite argument range_lookup na FALSE. Zadana vrijednost je TRUE, tako da ako izostavite ovaj argument, VLOOKUP će pretpostaviti da tražite približno podudaranje i tražiti najbližu vrijednost koja je manja od vrijednosti pretraživanja.
- Kolonac pretraživanja nije sortirano . Da bi približno podudaranje VLOOKUP ( range_lookup postavljeno na TRUE) ispravno funkcioniralo, prva kolona u nizu tablice mora biti sortirana uzlaznim redoslijedom, od najmanjeg do najvećeg.
- Duplikati u kolona za pretraživanje . Ako kolona za pretraživanje sadrži dvije ili više duplikata vrijednosti, VLOOKUP će vratiti prvo pronađeno podudaranje, koje možda nije ono koje očekujete.
- Neispravan povratni stupac . Dvaput provjerite broj indeksa u 3. argumentu :)
VLOOKUP ne radi između dva lista
Prvo, treba napomenuti da su uobičajeni razlozi #N/A, Greške #VALUE i #REF o kojima smo gore govorili mogu uzrokovati iste probleme kada gledate s drugog lista. Ako nije tako, provjerite sljedeće točke:
- Provjerite je li vanjska referenca na drugi list ili drugu radnu knjigu ispravna.
- Kada obavljate Vlookup iz druge radne knjige koja je zatvoreno trenutno, provjerite da li vaša formula sadrži punu putanju do zatvorene radne knjige.
- Ako