Sadržaj
Povlači li vaš VLOOKUP pogrešne podatke ili ga uopće ne možete pokrenuti? Ovaj vodič pokazuje kako možete brzo popraviti uobičajene pogreške VLOOKUP-a i prevladati njegova glavna ograničenja.
U nekoliko ranijih članaka istraživali smo različite aspekte funkcije Excel VLOOKUP. Ako ste nas pozorno pratili, do sada biste trebali biti stručnjak u ovom području :)
Međutim, nije bez razloga što mnogi Excel stručnjaci smatraju VLOOKUP jednom od najsloženijih Excel funkcija. Ima gomilu ograničenja koja su izvor raznih problema i pogrešaka.
U ovom ćete članku pronaći jednostavna objašnjenja glavnih uzroka VLOOKUP pogrešaka kao što su #N/A, #NAME i #VALUE, kao i njihova rješenja i popravke. Započet ćemo s najočitijim razlozima zašto VLOOKUP ne radi, pa bi bilo dobro da redom pogledate korake za rješavanje problema u nastavku.
Popravljanje pogreške #N/A u VLOOKUP
U VLOOKUP formulama, poruka o pogrešci #N/A (što znači "nije dostupno") prikazuje se kada Excel ne može pronaći traženu vrijednost. Može postojati nekoliko razloga zašto se to može dogoditi.
1. Vrijednost traženja je pogrešno napisana
Uvijek je dobra ideja prvo provjeriti najočigledniju stvar : ) Pogreške u tisku često se pojavljuju kada radite sa stvarno velikim skupovima podataka koji se sastoje od tisuća redaka ili kada se upisuje vrijednost traženja izravno u formuli.
2.VLOOKUP ne može odabrati polje tablice na 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 okviru formule čarobnjak), tada su najvjerojatnije dva lista otvorena u odvojenim instancama programa Excel i ne mogu međusobno komunicirati. Za više informacija pogledajte Kako odrediti koje su Excel datoteke u kojoj instanci. Da biste to popravili, jednostavno zatvorite sve prozore programa Excel, a zatim ponovno otvorite listove/radne knjige u istoj instanci (zadano ponašanje). Kako Vlookup bez pogrešaka u programu Excel
Ako ne želite zastrašivati svoje korisnike standardnim zapisima o pogreškama programa Excel, umjesto toga možete prikazati vlastiti tekst prilagođen korisniku ili vratiti praznu ćeliju ako ništa nije pronađeno. To se može učiniti pomoću funkcije VLOOKUP s funkcijom IFERROR ili IFNA.
Uhvati sve pogreške
U programu Excel 2007 i novijim možete koristiti funkciju IFERROR da biste provjerili ima li VLOOKUP formule na pogreške i vratili vaš vlastiti tekst (ili prazan niz) ako se otkrije bilo kakva pogreška .
Na primjer:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
U programu Excel 2003 i starijim verzijama 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 pojedinosti pogledajte Korištenje IFERROR s VLOOKUP-om u Excelu.
Handle #N/A errors
Da biste uhvatili samo #N/A pogreške zanemarujući sve druge vrste pogrešaka, upotrijebite funkciju IFNA (u programu Excel 2013 iviše) 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 pogrešaka i da vaše formule rade na željeni način.
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), pogreška #N/A može se pojaviti u dva slučaja :
- Vrijednost traženja manja je od najmanje vrijednosti u nizu pretraživanja.
- Stupac traženja nije poredan uzlaznim redoslijedom.
3 . #N/A u točnom podudaranju VLOOKUP
Ako tražite točno podudaranje ( range_lookup argument postavljen na FALSE), #N/A pogreška se javlja kada je vrijednost točno jednaka traženju vrijednost nije pronađena. Za više informacija pogledajte VLOOKUP točno podudaranje u odnosu na približno podudaranje.
4. Stupac pretraživanja nije krajnji lijevi stupac niza tablice
Jedno od najznačajnijih ograničenja Excel VLOOKUP-a je to što ne može gledati ulijevo. Posljedično, stupac za pretraživanje uvijek bi trebao biti krajnji lijevi stupac u polju tablice. U praksi često zaboravimo na ovo i završimo s pogreškama #N/A.
Rješenje : Ako nije moguće restrukturirati vaše podatke tako da stupac pretraživanja bude krajnji lijevi stupac, možete zajedno koristiti funkcije INDEX i MATCH kao alternativu VLOOKUP-u. Evo primjera formule: INDEX MATCH formula za traženje vrijednosti lijevo.
5. Brojevi su oblikovani kao tekst
Još jedna uobičajena izvorna greška #N/A u VLOOKUP formulama su brojevi oblikovani kao tekst, bilo u glavnoj ili tablici za pretraživanje.
Ovo je običnodogađa se kada uvezete podatke iz neke vanjske baze podataka ili ako ste upisali apostrof ispred broja da biste prikazali početne nule.
Ovdje su najočitiji pokazatelji brojeva oblikovanih kao tekst:
Rješenje: Odaberite sve problematične brojeve, kliknite na ikonu pogreške i odaberite Pretvori u broj iz kontekstnog izbornika. Za više informacija pogledajte Kako pretvoriti tekst u broj u programu Excel.
6. Razmaci na početku ili na kraju
Ovo je najmanje očit uzrok pogreške VLOOKUP #N/A jer ljudsko oko teško može uočiti te dodatne razmake, posebno kada radite s velikim skupovima podataka gdje je većina unosa ispod pomicanja .
Rješenje 1: Dodatni razmaci u vrijednosti traženja
Kako biste osigurali ispravan rad svoje formule VLOOKUP, umotajte vrijednost traženja u funkciju TRIM:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Rješenje 2: Dodatni razmaci u stupcu za pretraživanje
Ako se pojave dodatni razmaci u stupcu za pretraživanje, nije jednostavan način za izbjegavanje #N/A pogrešaka u VLOOKUP-u. Umjesto toga, možete koristiti kombinaciju funkcija INDEX, MATCH i TRIM kao formulu polja:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Budući da je ovo formula polja, ne zaboravite pritisnuti Ctrl + Shift + Enter da biste ga pravilno dovršili (u Excelu 365 i Excelu 2021 gdje su nizovi izvorni, ovo također funkcionira kao redovita formula).
Savjet. Brza alternativa je pokretanje alata Trim Spaces koji će eliminirativišak prostora u preglednoj i glavnoj tablici 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 uobičajena izvora VRIJEDNOSTI! pogreš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 traženja premašuju ovo ograničenje, #VALUE! prikazat će se pogreška:
Rješenje : Umjesto toga upotrijebite 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. Puni put do radne knjige traženja nije naveden
Ako povlačite podatke iz druge radne knjige, morate uključiti puni put do nje. Točnije, naziv radne knjige s ekstenzijom morate staviti u [uglate zagrade] i navesti naziv lista uz uskličnik. Ako naziv radne knjige ili naziv lista, ili oboje, sadrži razmake ili bilo koje neabecedne znakove, put mora biti u jednostrukim navodnicima.
Ovdje je struktura argumenta table_array za Vlookup iz druge radne knjige:
'[workbook name]sheet name'!range
Prava formula može izgledati slično ovoj:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)
Gornja formula tražit će vrijednost A2 u stupcu B Sheet1 u NewPrices radnu knjigu i vrati odgovarajuću vrijednost iz stupca D.
Ako bilo koji element staze nedostaje, vaša VLOOKUP formula neće raditi i vraća pogrešku #VALUE (osim ako radna knjiga traženja trenutno nije otvorite).
Za više informacija pogledajte:
- Kako uputiti na drugi list ili radnu knjigu u Excelu
- Kako napraviti Vlookup iz druge radne knjige
3. Argument col_index_num manji je od 1
Teško je zamisliti situaciju u kojoj netko namjerno unese broj manji od 1 kako bi odredio stupac iz kojeg će vratiti vrijednosti. Ali to se može dogoditi ako ovaj argument vrati neka druga funkcija ugniježđena u vašu VLOOKUP formulu.
Dakle, ako je argument col_index_num veći od 1, vaša formula će vratiti #VALUE! greška.
Ako je col_index_num veći od broja stupaca u polju tablice, VLOOKUP proizvodi #REF! error.
Rješavanje VLOOKUP #NAME pogreške
Ovo je najlakši slučaj - #NAME? pojavljuje se pogreška ako ste slučajno pogrešno napisali naziv funkcije.
Rješenje je očito - provjerite pravopis :)
Glavni uzroci pogrešaka u programu Excel VLOOKUP
Osim imajući prilično kompliciranu 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 različite od očekivanih. U nastavku ćete pronaćirješenja za nekoliko tipičnih scenarija kada VLOOKUP ne uspije.
VLOOKUP ne razlikuje velika i mala slova
Funkcija VLOOKUP ne razlikuje velika slova i smatra mala i velika slova identičnima.
<0 Rješenje : Upotrijebite VLOOKUP, XLOOKUP ili INDEX MATCH u kombinaciji s funkcijom EXACT koja može podudarati s velikim i malim slovima teksta. Detaljna objašnjenja i primjere formula možete pronaći u ovom vodiču: 5 načina za napraviti Vlookup osjetljiv na velika i mala slova u Excelu.Novi je stupac umetnut ili uklonjen iz tablice
Nažalost, VLOOKUP formule prestaju raditi svaki put kada se novi stupac izbriše ili doda u tablicu pretraživanja. To se događa jer sintaksa funkcije VLOOKUP zahtijeva definiranje broja indeksa povratnog stupca. Kada se novi stupac doda/ukloni iz polja tablice, očito se taj indeksni broj mijenja.
Rješenje : Formula INDEX MATCH opet dolazi u pomoć : ) S INDEX MATCH, vi odvojeno navedite raspon pretraživanja i povrata, tako da možete slobodno brisati ili umetati onoliko stupaca koliko želite bez brige o ažuriranju svake pridružene formule.
Reference ćelija mijenjaju se prilikom kopiranja formule 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 se brzo prebacivati između različitih vrsta 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 prisiliti da donese 2., 3., 4. ili bilo koju drugu pojavu koju želite. Također postoji način da se dobije zadnje podudaranje ili sva pronađena podudaranja.
Rješenja : Primjeri formula dostupni su ovdje:
- VLOOKUP i vrati N-to pojavljivanje
- VLOOKUP višestruke vrijednosti
- XLOOKUP formula za dobivanje zadnjeg podudaranja
Zašto moj VLOOKUP radi za neke ćelije, ali ne i za druge?
Kada vaš VLOOKUP formula vraća ispravne podatke u nekim ćelijama i #N/A pogreš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 retku 2 (recimo u E2), koja dobro radi:
=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 za table_array koristi relativna referenca, mijenja se na temelju relativnog položaja retka u koji je formula kopirana , u našem slučaju od A2:B10 do A3:B11. Dakle, ako je podudaranje u retku 2, neće biti pronađeno!
Rješenje : Kada koristite VLOOKUP formulu za više od jedne ćelije, uvijek zaključajte polje tablice referenca sa znakom $ poput $A$2:$B$10.
2. Tekstualne vrijednosti ili tipovi podataka ne odgovaraju
Drugouobičajeni razlog za neuspjeh VLOOKUP-a je razlika između vaše vrijednosti pretraživanja i slične vrijednosti u stupcu pretraživanja. U nekim slučajevima, razlika je toliko suptilna da ju je teško vizualno uočiti.
Rješenje : Kada VLOOKUP vraća pogrešku #N/A dok jasno možete vidjeti vrijednost traženja u stupac za pretraživanje, a očito su obje napisane potpuno isto, prva stvar koju trebate učiniti je utvrditi korijenski uzrok problema - formulu ili izvorne podatke.
Da biste vidjeli jesu li te dvije vrijednosti isti ili različiti, napravite izravnu usporedbu na ovaj način:
=E1=A4
Gdje je E1 vaša vrijednost pretraživanja, a A4 identična vrijednost u stupcu pretraživanja.
Ako formula vraća FALSE, što znači da se vrijednosti na neki način razlikuju, iako izgledaju potpuno slično.
U slučaju numeričkih vrijednosti , najvjerojatniji razlog su brojevi formatirani kao tekst.
U slučaju tekstualnih vrijednosti , najvjerojatnije je problem u višku razmaka. Da biste to provjerili, saznajte ukupnu duljinu dva niza pomoću funkcije LEN:
=LEN(E1)
=LEN(A4)
Ako su rezultirajući brojevi različiti (kao na slici ispod ), onda ste točno odredili krivca - dodatne razmake:
Da biste riješili problem, ili uklonite dodatne razmake ili koristite ovu formulu INDEX MATCH TRIM kao zaobilazno rješenje.
Zašto moj VLOOKUP izvlači krive podatke?
Moglo bi postojati još više razloga zaštovaš VLOOKUP vraća krivu vrijednost:
- Neispravan način pretraživanja . Ako želite točno podudaranje, svakako postavite argument range_lookup na FALSE. Zadana vrijednost je TRUE, pa ako izostavite ovaj argument, VLOOKUP će pretpostaviti da tražite približno podudaranje i tražiti najbližu vrijednost koja je manja od vrijednosti traženja.
- Stupac traženja nije sortirano . Da bi VLOOKUP približnog podudaranja ( range_lookup postavljen na TRUE) ispravno radio, prvi stupac u nizu tablice mora biti poredan uzlaznim redoslijedom, od najmanjeg prema najvećem.
- Duplikati u stupac pretraživanja . Ako stupac pretraživanja sadrži dvije ili više dupliciranih vrijednosti, VLOOKUP će vratiti prvo pronađeno podudaranje, koje možda nije ono što očekujete.
- Netočan povratni stupac . Dvaput provjerite broj indeksa u 3. argumentu :)
VLOOKUP ne radi između dva lista
Prvo, treba napomenuti da uobičajeni razlozi #N/A, Pogreške #VALUE i #REF o kojima smo govorili gore mogu uzrokovati iste probleme kada gledate s drugog lista. Ako to nije slučaj, provjerite sljedeće:
- Provjerite je li vanjska referenca na drugi list ili drugu radnu knjigu točna.
- Kada radite Vlookup iz druge radne knjige koja je zatvoreno u ovom trenutku, provjerite sadrži li vaša formula punu stazu do zatvorene radne knjige.
- Ako