Ynhâldsopjefte
VLOOKUP is ien fan 'e meast foarkommende en brûkbere funksjes. Om't it in soad brûkt wurdt, hawwe safolle minsken klachten oer it net wurkje VLOOKUP goed of it sjen litte fan ferkearde resultaten. Hoewol VLOOKUP wat beheiningen hat, is de measte flater dy't wy krije, om de syntaksis net goed te begripen of net foarsichtich te brûken. Yn dit artikel sil ik útlizze wêrom VLOOKUP net wurket.
Om de útlis begryplik te meitsjen sil ik in dataset brûke dy't produktynformaasje oer in bepaalde fruitwinkel fertsjintwurdiget. Der binne 5 kolommen yn de dataset; dit binne Fruit , Order ID, Quantity (Kg), Priis, en Order Date .
Download om te oefenjen
Download it wurkboek frij fan 'e ûndersteande keppeling.
VLOOKUP wurket net yn Excel.xlsx
8 redenen dat VLOOKUP net wurket
1. VLOOKUP wurket net en toant N/ In flater
Yn dizze seksje sil ik jo sjen litte wêrom't de #N/A flater optreedt by it wurkjen mei de VLOOKUP-funksje . Ek sil ik jo de bêste oplossing foarstelle om #N/A flater te foarkommen.
1.1. Leading and Trailing Spaces
Yn in grut datablêd is de mooglikheid om ekstra spaasjes te hawwen gewoan. Ek is it dreech om de flater te identifisearjen, om't jo de flater net krije, útsein as jo de dataset foarsichtich trochgeane.
Hjir haw ik de VLOOKUP formule tapastde funksje MATCH , ek brûkt FALSE as range_lookup om Exact Match te krijen.
Yn de MATCH funksje, ik brûkte de kolomnamme J3 as lookup_value , selekteare dêrnei it kolomnammeberik B3:G3 as lookup_array dan nommen 0 as match_type om Eksakte oerienkomst te brûken.
Druk op de ENTER toets. Sa krije jo it ferwachte resultaat dat jo wolle.
8. Lookup Value Hat Duplicate Values
In gefal jo lookup_value befettet dûbele wearden dan sil VLOOKUP net wurkje foar alle beskikbere wearden.
VLOOKUP jout allinich de earste wearde werom dy't oerienkomt mei de wearde dy't jo socht hawwe. foar.
Oplossing:
Om sokke soarten problemen te foarkommen kinne jo de duplikaten fuortsmite of jo kinne de draaitabel .
⏩ Jo kinne de duplikaten fuortsmite mei de Duplikaten fuortsmite fan dan Lint.
⏩ Ek kinne jo de Pivot brûke Tabel .
Om it te brûken,
Selektearje earst it selberik
Dan iepenje de ljepper Ynfoegje >> selektearje Draaitabel
In dialoochfinster sil ferskine, selektearje it plak en klik dan op OK .
No kinne jo de Fruit en Order ID yn Rijen selektearje, dan sil it de besteande Order ID fan jo selektearre Fruit .
Lês mear: Hoe te finen Dûbele wearden yn Excelmei help fan VLOOKUP
Oefeningsdiel
Ik haw in oefenblêd yn it wurkboek levere om dizze útleine manieren te oefenjen.
Konklúzje
Yn dit artikel haw ik besocht alle soarten senario's te dekken fan VLOOKUP net wurkje tegearre mei de oplossing om flaters te foarkommen. Dizze ferskillende manieren sille jo helpe om effisjinter en makliker te wurkjen mei de VLOOKUP funksje. As lêste, mar net it minste, as jo in soarte fan suggestjes, ideeën of feedback hawwe, fiel jo frij om hjirûnder kommentaar te jaan.
korrekt.Selektearje earst in sel om jo resultearjende wearde te pleatsen.
➤ Ik selektearre sel I4
Typ dan de folgjende formule yn Formulebalke .
=VLOOKUP(H4,B4:F12,2)
Hjir, yn de VLOOKUP funksje, Ik selektearre de sel H4 as lookup_value , en selektearre it berik B4: F12 as tabel_array . As ik de Oarder ID witte wol, sa jûn 2 as col_index_num .
Druk op de ENTER toets. No soene jo de Order ID krije fan de look_up wearde, mar it sil #N/A sjen litte.
No, nei it besjen fan de dataset sille jo fine dat de lookup_value Apple wat liedende spaasjes hat, dat is wêrom VLOOKUP net wurket.
Oplossing:
Om ekstra liedende of efterste spaasjes te ferwiderjen, brûk it lookup_value argumint mei de TRIM-funksje binnen de VLOOKUP funksje.
Lit my jo sjen litte hoe't jo de TRIM funksje brûke kinne binnen de VLOOKUP funksje .
Om de VLOOKUP flater te foarkommen, typ de folgjende formule yn jo selektearre sel.
=VLOOKUP(TRIM(H4),B4:F12,2)
Hjir sil de TRIM funksje alle besteande liedende en efterste spaasjes fan 'e selektearre sel H4 fuortsmite.
1.2. Foar typflater VLOOKUP wurket net
Typflater fan lookup_value is in oare reden om net te wurkjen VLOOKUP .
Hjir, josil sjen Ik haw de formule goed ynfoege yn de selektearre sel.
=VLOOKUP(H4,B4:F12,2)
Druk op de ENTER toets mar ynstee fan Order ID te sjen, sil it jo in #N/A flater sjen litte.
Sjoch no nei de lookup_value dy't jo sille sjoch dat de stavering fan Apple net goed is, dat is de reden dat VLOOKUP net wurket.
Oplossing:
Typ de opsykwearde altyd foarsichtich yn. Jo moatte de krekte stavering fan 'e wearde út 'e gegevenstabel behâlde.
As ik de lookup_value typte sa't it yn 'e tabel stiet, dus VLOOKUP wurket.
1.3. Numerike wearde opmakke as tekst
As de numerike wearden binne opmakke as tekst yn in tabel_array dan sil it jo in #N/A flater sjen litte by it brûken fan de VLOOKUP funksje.
Ik sil besykje de Priis te krijen troch de Order ID as lookup_value te brûken.
Selektearje earst in sel om jo resultearjende wearde te pleatsen.
➤ Ik selektearre sel I4
Typ dan de folgjende formule yn de Formulebalke .
=VLOOKUP(H4,C4:F12,3)
Druk op de ENTER toets. Sa krije jo de #N/A flater ynstee fan Priis .
No, as jo troch de kolom Order ID geane, dan jo sille sjen dat it nûmer 1001 is opmakke as tekst. Dat is de reden foar it net wurkje VLOOKUP .
Oplossing:
Om sokke typen te foarkommenfan flaters, kontrolearje altyd it formaat fan 'e numerike wearden. Hjir haw ik it numerike formaat as nûmer korrizjearre sadat de VLOOKUP wurket.
Lês mear: VLOOKUP Partial Tekst fan in inkele sel yn Excel
1.4. Opsykwearde is net de lofterste kolom
De funksje VLOOKUP hâldt in folchoarder by, dat is de opsykwearde moat de linkste kolom<5 wêze>, sa net, dan sil it net wurkje.
Ik sil besykje de Priis te krijen troch de Order ID as lookup_value te brûken.
Dus, ik brûkte de folgjende formule.
=VLOOKUP(H4,B4:F12,3)
Mar hjir de Order ID kolom is net de lofterste kolom fan de tabel_array B4:F12 dat is de reden dat it #N/A flater toant.
Oplossing:
Hjir kinne jo de flater op 2 manieren foarkomme.
⏩ Ien is dat jo de tabel_array kinne feroarje wêr't de opsykwearde de kolom meast lofts.
⏩ Twadder kinne jo de kolom lookup_value op 'e lofterste posysje fan 'e datasettabel pleatse.
Lês mear: VLOOKUP mei twa opsykwearden yn Excel (2 oanpakken)
1.5. Oversized tabel of ynfoegje Nije rige & amp; Kolom mei wearde
Soms foegje wy nije gegevens yn ús dataset yn, mar ferjit de tabel_array te feroarjen, dan kin de VLOOKUP net goed wurkje.
Ik sil besykje de Order ID te krijen troch de Fruit as lookup_value .
Dus, ik brûkte de folgjende formule.
=VLOOKUP(H4,B4:F12,2,FALSE)
Hjir haw ik it eksakte oerienkomst type brûkt om misleidende ynformaasje te foarkommen en ek ynformaasje ynfoege foar Lichi krige noch in flater om't ik de
Oplossing:
Tink derom as jo nije gegevens yn jo datasettabel ynfoegje bywurkje de tabel-array ek.
⏩ Hjir haw ik de tabelarray yn 'e formule bywurke.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ In oare manier is it konvertearjen fan jo dataset yn in tabel.
Selektearje earst it selberik.
Dan iepenje Ynfoegje >> selektearje Tabel
A dialoochfinster sil ferskine.
Dan, klikje op OK .
Omdat jo dataset no in tabel is, kinne jo gewoan de tabelnamme brûke.
Lês mear: Wêrom VLOOKUP jout #N/A as oerienkomst bestiet? (5 oarsaken en oplossings)
2. VLOOKUP wurket net en VALUE-flater toant
Fan dizze seksje sille jo witte wêrom't de #VALUE flater komt foar by it wurkjen mei de VLOOKUP funksje. Ek sil ik jo de alles-mooglike oplossing foarstelle om #VALUE flater te foarkommen.
2.1. Foar kolomyndeksnûmer Minder dan 1
As jo de col_index_num fersin brûke minder dan 1 , dan krije jo #VALUE flater.
In gefal jo dizze #VALUE krijeKontrolearje jo col_index_num argumint freonlik.
Lês mear: VLOOKUP mei nûmers yn Excel (4 foarbylden)
2.2. Mear dan 255 tekens brûke
Stel dat jo in lange tekst as wearde hawwe dy't mear is as 255 tekens, dan sille jo #VALUE flater hawwe.
Hjir, yn 'e A7 sel, haw ik in wearde ynfoege dy't 255 tekens grutter wie.
Dan brûkte ik de folgjende formule
=VLOOKUP(G4,A4:E12,2)
No kinne jo sjen dat it resultaat de #VALUE flater toant.
Oplossing:
Om dizze flater te foarkommen, kinne jo it karakter ferminderje of jo kinne de INDEX en de MATCH-funksjes brûke ynstee fan VLOOKUP .
Hjir haw ik de MATCH en de INDEX funksje brûkt.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))
Hjir, yn de INDEX funksje selektearre de absolute referinsje fan it selberik $B$4:$B$12 fan wêr't ik wearde weromjaan wol.
Yn de MATCH funksje, jûn TRUE as lookup_value en in oare INDEX( $A$4:$A$12=G4,0) funksje as lookup_array dan brûkt 0 as match_type om Eksakt te brûken Match .
Druk op de ENTER toets en jo krije it resultaat foar de lookup_value fan mear as 255 tekens.
Lês mear: INDEX MATCH vs VLOOKUP-funksje (9 foarbylden)
Fergelykbere lêzingen
- ExcelLOOKUP vs VLOOKUP: Mei 3 foarbylden
- Hoe VLOOKUP saakgefoelich meitsje yn Excel (4 metoaden)
- Excel VLOOKUP om lêste wearde te finen yn Kolom (mei alternativen)
- Hoe kinne jo VLOOKUP útfiere mei jokerteken yn Excel (2 metoaden)
- Excel VLOOKUP om meardere wearden fertikaal werom te jaan
3. VLOOKUP wurket net en lit REF-flater sjen
Hjir sille jo witte wêrom't de #REF-flater optreedt by it wurkjen mei de VLOOKUP funksje en ek krije jo de oplossing om #REF flater te foarkommen.
3.1. Gebrûk fan kolomyndeksnûmer grutter dan tabel
As jo de col_index_num grutter brûke dan it oantal kolommen dat jo hawwe yn 'e tabel_array , dan krije jo # REF flater.
Hjir haw ik 6 brûkt as col_index_number mar de tabelarray hat 5 kolommen yn totaal dat is de reden dat de VLOOKUP funksje net wurket en #REF flater toant.
Oplossing:
Om #REF flater te foarkommen, kontrolearret de col_index_num en brûk it nûmer dat yn de tabel_array is.
Lês mear: VLOOKUP om meardere kolommen yn Excel werom te jaan (4 foarbylden)
4. VLOOKUP NAME Flater
Lit my jo sjen litte wêrom't de #NAME-flater optreedt en hoe't jo dizze fuortsmite kinne.
4.1. Foar misstavering Funksjenamme VLOOKUP wurket net
De #NAME flaterkomt foar de ferkearde stavering fan funksjesnamme.
Oplossing:
Om #NAME flaters te foarkommen, brûke altyd de passende funksjenamme fan de ynboude funksje fan Excel.
5. Approximate Match brûke
As jo approximate match (TRUE) brûke, dan bliuwt der in mooglikheid fan beide #N/A flater of ûnkorrekt resultaat.
Ik sil besykje de Order ID te krijen troch de Fruit <2 te brûken>as lookup_value .
Dus, ik brûkte de folgjende formule.
=VLOOKUP(H4,B4:F12,2,TRUE)
Mar hjir joech ik Lichi as opsykwearde en brûkte TRUE as berikopsykje . VLOOKUP toant 1007 as Order ID wat ferkeard is omdat 1007 de Oarder ID is fan Cherry .
Om't ik sawat oerienkomst brûkte, dus ynstee fan flater toant it ferkearde ynformaasje
Oplossing:
Brûk de lookup_value foarsichtich. Ynstee fan it brûken fan approximate match type kinne jo exact match type brûke. Ik tink dat it krijen fan in flater folle better is as it hawwen fan misleidende ynformaasje.
Jo kinne de formule ferpakke mei de IFERROR-funksje om elk flaterberjocht te sjen wannear it kin de wearde net fine binnen it berik.
6. Tabelreferinsje is relatyf
As jo tabelarray relatyf ferwiisd wurdt, dan kinne jo kin flatermelding of flater hawwe by it kopiearjen fan de formule nei opsykje in oarwearden.
Oplossing:
Om dizze flater te foarkommen, brûk absolute referinsje.
Druk op de F4 toets wylst it selektearjen fan de referinsje dan sil it de relative referinsje omsette nei absolute referinsje .
Hjir haw ik de folgjende formule brûkt
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP wurket net Foar it ynfoegjen fan nije kolom
As jo in nije kolom yn jo besteande dataset ynfoegje, dan wurket de VLOOKUP funksje net. De col_index-num wurdt brûkt om ynformaasje werom te jaan oer in record yn de funksje VLOOKUP . De col_index-num is net duorsum, dus as jo in nije ynfoegje dan wurket de VLOOKUP net.
Hjir kinne jo de VLOOKUP sjen funksje wurket goed.
Mar hjir haw ik ien nije kolom ynfoege, dêrom wurdt 0 ynstee fan it ferwachte resultaat werjûn.
Oplossing:
⏩ Om sokke soarten problemen te foarkommen, kinne jo it wurkblêd beskermje sadat elkenien gjin nije kolommen kin ynfoegje mar it is net freonlik genôch.
⏩ In oare oplossing is dat jo de MATCH funksje brûke kinne binnen de VLOOKUP funksje.
Dus, typ it folgjende formule.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
Hjir, yn de funksje VLOOKUP , haw ik de sel selektearre I4 as lookup_value selektearre dan it berik B4:G12 as tabelarray en as it col_index_num brûkt