Turinys
VLOOKUP yra viena iš labiausiai paplitusių ir naudingiausių funkcijų. Kadangi ji plačiai naudojama, daug žmonių skundžiasi, kad neveikia VLOOKUP teisingai arba rodo neteisingus rezultatus. VLOOKUP turi tam tikrų apribojimų, tačiau daugiausiai klaidų gauname dėl to, kad netinkamai suprantame sintaksę arba ją naudojame nepakankamai atidžiai. Šiame straipsnyje paaiškinsiu, kodėl VLOOKUP neveikia.
Kad paaiškinimas būtų suprantamas, naudosiu duomenų rinkinį, kuriame pateikiama informacija apie konkrečios vaisių parduotuvės produktus. Duomenų rinkinyje yra 5 stulpeliai, tai Vaisiai , Užsakymo ID, kiekis (kg), kaina, ir Užsakymo data .
Atsisiųsti į praktiką
Kviečiame atsisiųsti darbo knygą iš toliau pateiktos nuorodos.
VLOOKUP neveikia Excel.xlsx8 VLOOKUP neveikimo priežastys
1. VLOOKUP neveikia ir rodo N/A klaidą
Šiame skyriuje parodysiu, kodėl #N/A klaida atsiranda dirbant su VLOOKUP funkcija . Taip pat siūlysiu jums geriausią sprendimą, kaip išvengti #N/A klaida.
1.1. Pirmykščiai ir galiniai tarpai
Dideliame duomenų rinkinyje dažnai pasitaiko, kad gali būti papildomų tarpų. Be to, sunku nustatyti klaidą, nes jos nepastebėsite, jei atidžiai neperžiūrėsite duomenų rinkinio.
Čia taikiau VLOOKUP formulė teisinga.
Pirmiausia pasirinkite ląstelę, į kurią norite įrašyti rezultatinę vertę.
➤ Pasirinkau ląstelę I4
Tada įveskite šią formulę į "Formula Bar .
=VLOOKUP(H4,B4:F12,2)
Čia, į VLOOKUP funkciją, pasirinkau ląstelę H4 kaip lookup_value ir pasirinko diapazoną B4:F12 kaip table_array . Kadangi noriu sužinoti Užsakymo ID taigi, atsižvelgiant į tai, kad 2 kaip col_index_num .
Paspauskite ĮVESKITE raktą. Dabar turėjote gauti Užsakymo ID iš look_up vertė, bet ji bus rodoma #N/A .
Peržiūrėję duomenų rinkinį pamatysite, kad lookup_value "Apple" turi keletą pirmaujančių vietų, todėl VLOOKUP neveikia.
Sprendimas :
Norėdami pašalinti papildomus pradinius arba galinius tarpus, naudokite lookup_value argumentas su TRIM funkcija per VLOOKUP funkcija.
Parodysiu, kaip galite naudoti TRIM funkciją, esančią VLOOKUP funkcija.
Siekiant išvengti VLOOKUP klaida pasirinktoje ląstelėje įveskite šią formulę.
=VLOOKUP(TRIM(H4),B4:F12,2)
Čia TRIM funkcija pašalins visus esamus pasirinktos ląstelės pradinius ir galinius tarpus. H4 .
1.2. Dėl rašybos klaidos VLOOKUP neveikia
Rašybos klaida lookup_value yra dar viena priežastis, dėl kurios neveikia VLOOKUP .
Čia matote, kad formulę teisingai įterpiau į pasirinktą ląstelę.
=VLOOKUP(H4,B4:F12,2)
Paspauskite ĮVESKITE klavišą, bet vietoj to, kad rodytų Užsakymo ID , bus parodytas #N/A klaida.
Dabar pažvelkite į lookup_value pamatysite, kad rašyba "Apple" yra neteisingas, todėl VLOOKUP neveikia.
Sprendimas :
Visada atidžiai įveskite lookup_value . Turite išlaikyti tikslią duomenų lentelės reikšmės rašybą.
Kaip aš įvedžiau lookup_value kaip nurodyta lentelėje, todėl VLOOKUP veikia.
1.3. Skaitmeninė reikšmė, suformatuota kaip tekstas
Jei skaitinės reikšmės formatuojamos kaip tekstas table_array tada bus rodomas #N/A klaida naudojant VLOOKUP funkcija.
Bandysiu gauti Kaina naudodami Užsakymo ID kaip lookup_value .
Pirmiausia pasirinkite ląstelę, į kurią norite įrašyti rezultatinę vertę.
➤ Pasirinkau ląstelę I4
Tada įveskite šią formulę į "Formula Bar .
=VLOOKUP(H4,C4:F12,3)
Paspauskite ĮVESKITE klavišą. Taigi, gausite #N/A klaida, o ne Kaina .
Dabar, jei peržiūrėsite Užsakymo ID stulpelyje matysite skaičių 1001 formatuojamas kaip tekstas. Dėl šios priežasties neveikia VLOOKUP .
Sprendimas :
Kad išvengtumėte tokių klaidų, visada patikrinkite skaitinių reikšmių formatą. Čia ištaisiau skaitinį formatą kaip skaičių, kad VLOOKUP veikia.
Skaityti daugiau: VLOOKUP Dalinis tekstas iš vienos ląstelės "Excel" programoje
1.4. Paieškos reikšmė nėra labiausiai į kairę nutolęs stulpelis
Svetainė VLOOKUP funkcija palaiko seką, kuri yra lookup_value turi būti kraštutinis kairysis stulpelis jei ne, tai neveiks.
Bandysiu gauti Kaina naudodami Užsakymo ID kaip lookup_value .
Todėl naudojau šią formulę.
=VLOOKUP(H4,B4:F12,3)
Bet čia Užsakymo ID stulpelis nėra kraštutinis kairysis stulpelis table_array B4:F12 štai kodėl jis rodomas #N/A klaida.
Sprendimas :
Šiuo atveju klaidos galima išvengti dviem būdais.
⏩ Vienas iš jų yra tai, kad galite pakeisti table_array kur lookup_value bus kraštutinis stulpelis kairėje.
⏩ Antra, galite įdėti lookup_value stulpelis duomenų rinkinio lentelės kairiausioje pozicijoje.
Skaityti daugiau: VLOOKUP su dviem paieškos vertėmis "Excel" programoje (2 būdai)
1.5. Per didelė lentelė arba naujos eilutės įterpimas & amp; stulpelis su verte
Kartais į duomenų rinkinį įterpiame naujų duomenų, bet pamirštame pakeisti table_array tada VLOOKUP negali tinkamai veikti.
Bandysiu gauti Užsakymo ID naudodami Vaisiai kaip lookup_value .
Todėl naudojau šią formulę.
=VLOOKUP(H4,B4:F12,2,FALSE)
Čia naudojau tikslus atitikimas tipo, kad būtų išvengta klaidinančios informacijos, taip pat įterpta informacija, skirta Lichi dar gavau klaidą, nes neatnaujinau table_array .
Sprendimas :
Nepamirškite, kad kaskart, kai į duomenų rinkinio lentelę įterpiate naujų duomenų, atnaujinkite lentelės masyvą taip pat.
⏩ Čia atnaujinau table_array formulėje.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ Kitas būdas - duomenų rinkinį paversti lentele.
Pirmiausia pasirinkite ląstelių intervalą.
Tada atidarykite Įdėkite >> pasirinkti Lentelė
A dialogo langas pasirodys.
Tada spustelėkite GERAI .
Kadangi dabar jūsų duomenų rinkinys paverstas lentele, galite naudoti tik lentelės pavadinimą.
Skaityti daugiau: Kodėl VLOOKUP grąžina #N/A, kai yra atitikmuo? (5 priežastys ir sprendimai)
2. VLOOKUP neveikia ir rodo VALUE klaidą
Šiame skyriuje sužinosite, kodėl #VALUE klaida atsiranda dirbant su VLOOKUP funkcija. Be to, aš jums pasiūlysiu visus įmanomus sprendimus, kad būtų išvengta #VALUE klaida.
2.1. Jei stulpelio indekso numeris mažesnis nei 1
Jei klaidingai naudojate col_index_num mažiau nei 1 , tada gausite #VALUE klaida.
Jei tai gausite #VALUE maloniai prašome patikrinti jūsų col_index_num argumentas.
Skaityti daugiau: VLOOKUP su skaičiais "Excel" programoje (4 pavyzdžiai)
2.2. Naudojant daugiau nei 255 simbolius
Tarkime, kad turite ilgą tekstą, kurio vertė yra didesnė nei 255 simbolių, tada turėsite #VALUE klaida.
Čia, į A7 ląstelę, įterpiau reikšmę, viršijančią 255 simbolių.
Tada naudokite šią formulę
=VLOOKUP(G4,A4:E12,2)
Dabar matote, kad rezultatas rodo #VALUE klaida.
Sprendimas :
Kad išvengtumėte šios klaidos, galite sumažinti simbolį arba naudoti INDEKSAS ir funkcijos MATCH vietoj VLOOKUP .
Čia naudojau MATCH ir INDEKSAS funkcija.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))
Čia, į INDEKSAS funkcija pasirinko absoliučią ląstelės intervalo nuorodą $B$4:$B$12 iš kur noriu grąžinti reikšmę.
Į MATCH funkcija, atsižvelgiant į TRUE kaip lookup_value ir naudojo kitą INDEKSAS($A$4:$A$12=G4,0) funkciją kaip lookup_array tada naudojamas paimtas 0 kaip match_type naudoti Tikslus atitikimas .
Paspauskite ĮVESKITE klavišą ir gausite rezultatą, susijusį su lookup_value daugiau nei 255 simbolių.
Skaityti daugiau: INDEX MATCH vs VLOOKUP funkcija (9 pavyzdžiai)
Panašūs skaitiniai
- "Excel" LOOKUP vs VLOOKUP: 3 pavyzdžiai
- Kaip padaryti, kad "Excel" programoje VLOOKUP būtų jautrus atvejams (4 metodai)
- "Excel" VLOOKUP paskutinei stulpelio vertei rasti (su alternatyvomis)
- Kaip "Excel" programoje atlikti VLOOKUP su "Wildcard" (2 metodai)
- "Excel" VLOOKUP kelioms vertėms vertikaliai grąžinti
3. VLOOKUP neveikia ir rodo REF klaidą
Čia sužinosite, kodėl #REF klaida atsiranda dirbant su VLOOKUP funkciją ir taip pat gausite sprendimą, kaip išvengti #REF klaida.
3.1. Stulpelio indekso numerio, didesnio už lentelę, naudojimas
Jei naudojate col_index_num didesnis nei stulpelių skaičius, kurį turite table_array tada gausite #REF klaida.
Čia naudojau 6 kaip col_index_number bet table_array turi 5 iš viso stulpelių, todėl VLOOKUP funkcija neveikia ir rodo #REF klaida.
Sprendimas :
Kad išvengtumėte #REF klaida tikrina col_index_num ir naudokite numerį, esantį table_array .
Skaityti daugiau: VLOOKUP kelių stulpelių grąžinimui "Excel" programoje (4 pavyzdžiai)
4. VLOOKUP NAME klaida
Parodysiu jums, kodėl #NAME klaida ir kaip jį pašalinti.
4.1. Dėl klaidingai parašyto funkcijos pavadinimo VLOOKUP neveikia
Svetainė #NAME klaida atsiranda dėl neteisingai parašyto funkcijų pavadinimo.
Sprendimas :
Kad išvengtumėte #NAME klaidos visada naudoja atitinkamą "Excel" integruotos funkcijos pavadinimą.
5. Naudojant apytikslį atitikmenį
Jei naudojate apytikslis atitikimas (TRUE) tada išlieka galimybė, kad #N/A klaida arba neteisingas rezultatas.
Bandysiu gauti Užsakymo ID naudodami Vaisiai kaip lookup_value .
Todėl naudojau šią formulę.
=VLOOKUP(H4,B4:F12,2,TRUE)
Bet čia aš daviau Lichi kaip lookup_value ir naudojo TRUE kaip range_lookup . VLOOKUP rodo 1007 kaip Užsakymo ID kuris yra neteisingas, nes 1007 yra Užsakymo ID iš Cherry .
Kadangi naudojau apytikslį atitikimą, vietoj to, kad būtų rodoma klaida, rodoma klaidinga informacija.
Sprendimas :
Naudokite lookup_value atsargiai. Užuot naudoję apytikslis atitikimas galite naudoti tikslus atitikimas Manau, kad klaida yra kur kas geriau nei klaidinanti informacija.
Formulę galite užbaigti šiomis formulėmis funkcija IFERROR rodyti bet kokį klaidos pranešimą, kai nerandama reikšmė, patenkanti į intervalą.
6. Lentelės nuoroda yra santykinė
Jei jūsų lentelės masyvas santykinai, tuomet gali būti pateiktas pranešimas apie klaidą arba klaida kopijuojant formulę į ieškoti kitos vertės.
Sprendimas :
Norėdami išvengti šios klaidos, naudokite absoliučiąją nuorodą.
Paspauskite F4 klavišą, kai pasirenkate nuorodą, tada ji bus konvertuota į santykinė nuoroda į absoliuti nuoroda .
Čia naudojau šią formulę
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP neveikia Naujo stulpelio įterpimas
Jei į esamą duomenų rinkinį įterpiate naują stulpelį, tada VLOOKUP funkcija neveikia. col_index-num naudojamas informacijai apie įrašą grąžinti. VLOOKUP funkcija. col_index-num nėra ilgaamžis, todėl, jei įterpiate naują VLOOKUP neveiks.
Čia galite pamatyti VLOOKUP funkcija veikia tinkamai.
Bet čia įterpiau vieną naują stulpelį, todėl jis rodomas 0 vietoj to, kad rodytų laukiamą rezultatą.
Sprendimas :
⏩ Norėdami išvengti tokių problemų, galite apsaugoti darbalapį taip, kad niekas negalėtų įterpti naujų stulpelių, tačiau tai nėra pakankamai patogu.
⏩ Kitas sprendimas - galite naudoti MATCH funkciją, esančią VLOOKUP funkcija.
Įveskite šią formulę.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
Čia VLOOKUP funkcija , pasirinkau langelį I4 kaip lookup_value tada pasirinko diapazoną B4:G12 kaip table_array ir kaip col_index_num naudojo MATCH funkcija, taip pat naudojama FALSE kaip range_lookup gauti Tikslus atitikimas .
Į MATCH funkciją, naudojau stulpelio pavadinimą J3 kaip lookup_value , toliau pasirinktas stulpelio pavadinimo intervalas B3:G3 kaip lookup_array tada paimtas 0 kaip match_type naudoti Tikslus atitikimas .
Paspauskite ĮVESKITE Taip gausite norimą rezultatą.
8. Paieškos vertė turi pasikartojančių verčių
Jei jūsų lookup_value yra pasikartojančių verčių, tada VLOOKUP neveiks visoms galimoms reikšmėms.
VLOOKUP grąžina tik pirmąją reikšmę, atitinkančią ieškomą reikšmę.
Sprendimas :
Norėdami išvengti tokių problemų, galite pašalinti dublikatus arba naudoti sukamoji lentelė .
⏩ Dublikatus galite pašalinti naudodami Pašalinti dublikatus iš juostos.
⏩ Taip pat galite naudoti Pasukamoji lentelė .
Naudojimas,
Pirmiausia pasirinkite ląstelių intervalą
Tada atidarykite Įdėkite skirtukas>> pasirinkite Pasukamoji lentelė
A dialogo langas atsiras langas, pasirinkite vietą, tada spustelėkite GERAI .
Dabar galite pasirinkti Vaisiai ir Užsakymo ID svetainėje Eilutės tada bus rodomas esamas Užsakymo ID jūsų pasirinkto Vaisiai .
Skaityti daugiau: Kaip rasti pasikartojančias vertes "Excel" programoje naudojant VLOOKUP
Praktikos skyrius
Sąsiuvinyje pateikiau pratybų lapą, kuriame galite praktiškai išbandyti šiuos paaiškintus būdus.
Išvada
Šiame straipsnyje stengiausi aprėpti visus scenarijus, susijusius su VLOOKUP neveikia kartu su sprendimu, kad būtų išvengta klaidų. Šie skirtingi būdai padės jums dirbti su VLOOKUP veikti efektyviau ir paprasčiau. Galiausiai, jei turite kokių nors pasiūlymų, idėjų ar atsiliepimų, nedvejodami komentuokite toliau.