Ynhâldsopjefte
Trekt jo VLOOKUP ferkearde gegevens of kinne jo it hielendal net oan it wurk krije? Dizze tutorial lit sjen hoe't jo gewoane VLOOKUP-flaters fluch reparearje kinne en de wichtichste beheiningen oerwinne.
Yn in pear eardere artikels hawwe wy ferskate aspekten fan 'e Excel VLOOKUP-funksje ûndersocht. As jo ús nau folge hawwe, moatte jo no in ekspert wêze op dit mêd :)
It is lykwols net sûnder reden dat in protte Excel-spesjalisten VLOOKUP beskôgje as ien fan 'e meast yngewikkelde Excel-funksjes. It hat in ton fan beheiningen, dy't de boarne binne fan ferskate problemen en flaters.
Yn dit artikel fine jo ienfâldige ferklearrings fan 'e wichtichste oarsaken fan VLOOKUP-flaters lykas #N/A, #NAME en #VALUE, lykas har oplossingen en reparaasjes. Wy sille begjinne mei de meast foar de hân lizzende redenen wêrom't VLOOKUP net wurket, dus it kin in goed idee wêze om de ûndersteande stappen foar probleemoplossing yn folchoarder te besjen.
#N/A flater reparearje yn VLOOKUP
Yn VLOOKUP-formules wurdt it #N/A-flaterberjocht (dat betsjut "net beskikber") werjûn as Excel gjin opsykwearde kin fine. D'r kinne ferskate redenen wêze wêrom't dat barre kin.
1. De opsykwearde is ferkeard stavere
It is altyd in goed idee om earst it meast foar de hân lizzende ding te kontrolearjen: ) Drukfouten komme faak foar as jo wurkje mei echt grutte datasets besteande út tûzenen rigen, of as in opsykwearde typt wurdt direkt yn de formule.
2.VLOOKUP kin gjin tabelarray kieze yn in oar wurkblêd (dat wol sizze as jo in berik markearje yn it opsykblêd, dan ferskynt neat yn it tabel_array argumint yn 'e formule of yn it korrespondearjende fak fan 'e formule wizard), dan binne de twa blêden nei alle gedachten iepen yn aparte eksimplaren fan Excel en kinne net mei elkoar kommunisearje. Foar mear ynfo, sjoch asjebleaft Hoe kinne jo bepale hokker Excel-bestannen yn hokker eksimplaar binne. Om dit te reparearjen, slute gewoan alle Excel-finsters, en iepenje dan de blêden/wurkboeken opnij yn deselde eksimplaar (it standertgedrach). Hoe Vlookup sûnder flaters yn Excel
As jo wolle jo brûkers net yntimidearje mei standert Excel-flaternotaasjes, jo kinne ynstee jo eigen brûkerfreonlike tekst werjaan of in lege sel weromjaan as neat fûn wurdt. Dit kin dien wurde troch VLOOKUP te brûken mei IFERROR- of IFNA-funksje.
Fang alle flaters
Yn Excel 2007 en letter kinne jo de IFERROR-funksje brûke om in VLOOKUP-formule te kontrolearjen op flaters en jo werom te jaan eigen tekst (of in lege tekenrige) as elke flater ûntdutsen wurdt.
Bygelyks:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
Yn Excel 2003 en earder kinne jo brûk de formule IF ISERROR foar itselde doel:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))
Foar mear details sjoch asjebleaft IFERROR brûke mei VLOOKUP yn Excel.
Behannelje #N/A flaters
Om allinich #N/A flaters te fangen dy't alle oare flatersoarten negearje, brûk de IFNA-funksje (yn Excel 2013 enheger) of IF ISNA-formule (yn alle ferzjes).
Bygelyks:
=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))
Dat is alles foar hjoed. Hooplik sil dizze tutorial jo helpe om VLOOKUP-flaters kwyt te reitsjen en jo formules te wurkjen op 'e manier dy't jo wolle.
Hoe VLOOKUP yn Excel - fideo-tutorial
#N/A yn ûngefear oerienkomst VLOOKUPAs jo formule de tichtste oerienkomst opsyket, ( range_lookup argumint ynsteld op TRUE of weilitten), kin de #N/A flater yn twa gefallen ferskine :
- De opsykwearde is lytser as de lytste wearde yn de opsykarray.
- De opsykkolom is net yn oprinnende folchoarder sortearre.
3 . #N/A yn eksakte oerienkomst VLOOKUP
As jo sykje nei eksakte oerienkomst ( range_lookup argumint ynsteld op FALSE), bart de #N/A flater as in wearde krekt lyk is oan it opsykjen wearde is net fûn. Foar mear ynformaasje, sjoch VLOOKUP eksakte oerienkomst tsjin likernôch oerienkomst.
4. De opsykkolom is net de lofterste kolom fan 'e tabelarray
Ien fan 'e wichtichste beheiningen fan Excel VLOOKUP is dat it net nei links sjen kin. Dêrtroch moat in opsykkolom altyd de linkerste kolom wêze yn 'e tabelarray. Yn 'e praktyk ferjitte wy dit faaks en komme wy op #N/A flaters op.
Oplossing : As it net mooglik is om jo gegevens te herstrukturearjen sadat de opsykkolom de lofterste kolom is, kinne jo de INDEX- en MATCH-funksjes tegearre brûke as alternatyf foar VLOOKUP. Hjir is in formulefoarbyld: INDEX MATCH formule om wearden nei lofts op te sykjen.
5. Sifers wurde opmakke as tekst
In oare mienskiplike boarne #N/A flaters yn VLOOKUP-formules binne sifers opmakke as tekst, itsij yn de haad- of opsyktabel.
Dit meastentiidskomt foar as jo gegevens ymportearje fan in eksterne databank of as jo in apostrof foar in nûmer typt hawwe om foaroansteande nullen sjen te litten.
Hjir binne de meast foar de hân lizzende yndikatoaren fan nûmers opmakke as tekst:
Oplossing: Selektearje alle problematyske nûmers, klikje op it flaterpictogram en kies Konvertearje nei nûmer út it kontekstmenu. Foar mear ynformaasje sjoch asjebleaft Hoe tekst te konvertearjen nei nûmer yn Excel.
6. Leading of trailing spaces
Dit is de minste foar de hân lizzende oarsaak fan 'e VLOOKUP #N/A flater, om't in minsklik each dy ekstra spaasjes amper opspoarje kin, foaral as jo wurkje mei grutte datasets wêr't de measte yngongen ûnder de rol steane .
Oplossing 1: Ekstra spaasjes yn 'e opsykwearde
Om it juste wurk fan jo VLOOKUP-formule te garandearjen, wrap de opsykwearde yn 'e TRIM-funksje:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Oplossing 2: Ekstra spaasjes yn de opsykkolom
As ekstra spaasjes foarkomme yn de opsykkolom, dan is gjin maklike manier om #N/A flaters te foarkommen yn VLOOKUP. Ynstee dêrfan kinne jo in kombinaasje fan INDEX-, MATCH- en TRIM-funksjes brûke as in arrayformule:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Om't dit in arrayformule is, ferjit net te drukken op Ctrl + Shift + Enter om it goed te foltôgjen (yn Excel 365 en Excel 2021 dêr't arrays native binne, wurket dit ek as in gewoane formule).
Tip. In fluch alternatyf is it útfieren fan it Trim Spaces-ark dat sil eliminearjeoerstallige spaasjes sawol yn 'e opsyk- en haadtabellen yn sekonden, wêrtroch jo VLOOKUP-formules flaterfrij binne.
#WAARDE! flater yn VLOOKUP-formules
Yn 't algemien toant Microsoft Excel de #VALUE! flater as in wearde brûkt yn 'e formule is fan in ferkeard gegevenstype. Wat VLOOKUP oanbelanget, binne d'r twa mienskiplike boarnen fan 'e WAARDE! flater.
1. Opsykwearde is grutter dan 255 tekens
Hâld der rekken mei dat VLOOKUP gjin wearden opsykje kin mei mear as 255 tekens. As jo opsykwearden dizze limyt oerskriuwe, is in #VALUE! flater sil werjûn wurde:
Oplossing : Brûk ynstee in INDEX MATCH-formule. Yn ús gefal wurket dizze formule perfekt:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. Folslein paad nei it opsykwurkboek wurdt net levere
As jo gegevens út in oar wurkboek lûke, moatte jo it folsleine paad dernei opnimme. Mear krekter moatte jo de namme fan it wurkboek ynslute, ynklusyf de tafoeging yn [fjouwerkante heakjes] en de namme fan it blêd opjaan folge troch it útropteken. As de namme fan it wurkboek of blêdnamme, of beide, spaasjes of oare net-alfabetyske tekens befetsje, moat it paad omsletten wurde troch inkele oanhalingstekens.
Hjir is de struktuer fan it tabelarray -argumint foar Vlookup fan in oar wurkboek:
'[workbook name]sheet name'!range
In echte formule kin sa lykje:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)
De boppesteande formule sil sykje nei de wearde fan A2 yn kolom B fan Blêd1 yn 'e NijPrizen -wurkboek, en jout in oerienkommende wearde werom út kolom D.
As ien elemint fan it paad ûntbrekt, sil jo VLOOKUP-formule net wurkje en de #VALUE-flater weromjaan (útsein as it opsykwurkboek op it stuit is iepen).
Sjoch foar mear ynformaasje:
- Hoe kinne jo ferwize nei in oar blêd of wurkboek yn Excel
- Hoe kin ik Vlookup dwaan fan in oar wurkboek
3. It argumint col_index_num is minder dan 1
It is lestich in situaasje foar te stellen as immen mei opsetsin in getal minder dan 1 ynfiert om de kolom oan te jaan om wearden werom te jaan. Mar it kin barre as dit argumint wurdt weromjûn troch in oare funksje genest yn jo VLOOKUP formule.
Dus, as it col_index_num argumint is dan 1, sil jo formule de #VALUE! flater ek.
As col_index_num grutter is as it oantal kolommen yn 'e tabelarray, produsearret VLOOKUP de #REF! flater.
VLOOKUP #NAME-flater oplosse
Dit is it maklikste gefal - de #NAME? flater ferskynt as jo per ongeluk de namme fan de funksje ferkeard stavere hawwe.
De oplossing is fanselssprekkend - kontrolearje de stavering :)
De wichtichste oarsaken fan flaters yn Excel VLOOKUP
Afgezien van hawwende in frij yngewikkelde syntaksis, VLOOKUP hat nei alle gedachten mear beheinings as hokker oare Excel funksje. Fanwegen dizze beheiningen kin in skynber korrekte formule faaks resultaten leverje dy't ferskille fan wat jo ferwachte hawwe. Hjirûnder fine jooplossings foar in pear typyske senario's as VLOOKUP mislearret.
VLOOKUP is net-gefoelich
De VLOOKUP-funksje ûnderskiedt de letters net en lit lytse en haadletters as identyk.
Oplossing : Brûk VLOOKUP, XLOOKUP of INDEX MATCH yn kombinaasje mei de EKAKTE funksje dy't oerienkomme kin mei tekstfallen. Jo kinne de detaillearre ferklearrings en formulefoarbylden fine yn dizze tutorial: 5 manieren om in case-sensitive Vlookup yn Excel te dwaan.
In nije kolom is ynfoege of fuorthelle út de tabel
Spitigernôch, VLOOKUP formules stopje te wurkjen elke kear as in nije kolom wurdt wiske út of tafoege oan de opsyktabel. Dit bart om't de syntaksis fan 'e funksje VLOOKUP fereasket it definiearjen fan it yndeksnûmer fan' e weromkommende kolom. As in nije kolom wurdt tafoege oan / fuortsmiten út de tabel array, fansels feroaret dat yndeksnûmer.
Oplossing : De INDEX MATCH formule komt wer te rêden: ) Mei INDEX MATCH kinne jo spesifisearje de opsyk- en weromkommende berik apart, sadat jo frij binne om safolle kolommen te wiskjen of yn te foegjen as jo wolle sûnder soargen te meitsjen oer it bywurkjen fan elke assosjearre formule.
Selferwizings feroarje by it kopiearjen fan de formule nei oare sellen
De kop jout in útputtende útlis fan it probleem, toch?
Oplossing : Brûk altyd absolute ferwizings (mei it $ teken) foar it tabel_array argumint, bgl. $A$2:$C$100 of$A:$C. Jo kinne fluch wikselje tusken ferskate referinsjetypen troch op de F4-kaai te drukken.
VLOOKUP jout de earste fûn wearde werom
Sa't jo al witte, jout Excel VLOOKUP de earste wearde dy't it fynt. Jo kinne it lykwols twinge om de 2e, 3e, 4e of in oar foarfal te bringen dat jo wolle. D'r is ek in manier om de lêste wedstryd of alle fûne wedstriden te krijen.
Oplossingen : Formulefoarbylden binne hjir beskikber:
- VLOOKUP en jout Nde foarkommen
- VLOOKUP meardere wearden
- XLOOKUP formule om de lêste wedstriid te krijen
Wêrom wurket myn VLOOKUP foar guon sellen mar net foar oaren?
As jo VLOOKUP formule jout de krekte gegevens I guon sellen en #N/A flaters yn oaren, der kin in pear mooglike redenen wêrom't dat bart.
1. De tabel array is net beskoattele
Stel dat jo dizze formule hawwe yn rige 2 (sizze yn E2), dy't goed wurket:
=VLOOKUP(D2, A2:B10, 2, FALSE)
As kopiearre nei rige 3 feroaret de formule yn:
=VLOOKUP(D3, A3:B11, 2, FALSE)
Om't in relative referinsje wurdt brûkt foar tabel_array , feroaret it basearre op de relative posysje fan 'e rige wêryn't de formule kopiearre is , yn ús gefal fan A2:B10 nei A3:B11. Dus, as de oerienkomst yn rige 2 is, sil it net fûn wurde!
Oplossing : By it brûken fan in VLOOKUP-formule foar mear as ien sel, altyd beskoattelje de tabelarray ferwizing mei it $ teken lykas $A$2:$B$10.
2. Tekstwearden of gegevenstypen komme net oerien
In oarmienskiplike reden foar VLOOKUP-mislearring is it ferskil tusken jo opsykwearde en in ferlykbere wearde yn 'e opsykkolom. Yn guon gefallen is it ferskil sa subtyl dat it dreech visueel te spotten is.
Oplossing : As VLOOKUP in #N/A-flater werombringt, wylst jo de opsykwearde dúdlik sjen kinne yn de opsykkolom, en blykber binne beide krekt itselde stavere, it earste wat jo moatte dwaan is de oarsaak fan it probleem te bepalen - de formule of de boarnegegevens.
Om te sjen oft de twa wearden de itselde of oars, meitsje in direkte ferliking op dizze manier:
=E1=A4
Wêr't E1 jo opsykwearde is en A4 in identike wearde yn 'e opsykkolom.
As de formule jout FALSE werom, dat betsjut dat de wearden op ien of oare manier ferskille, al lykje se absolút opinoar.
Yn gefal fan numerike wearden is de meast mooglike reden sifers opmakke as tekst.
Yn it gefal fan tekstwearden leit it probleem nei alle gedachten yn tefolle spaasjes. Om dit te ferifiearjen, fyn de totale lingte fan 'e twa snaren mei de LEN-funksje:
=LEN(E1)
=LEN(A4)
As de resultearjende nûmers oars binne (lykas yn 'e skermôfbylding hjirûnder ), dan hawwe jo de skuldige oanwiisd - ekstra spaasjes:
Om it probleem op te lossen, ferwiderje ekstra spaasjes of brûk dizze INDEX MATCH TRIM-formule as in oplossing.
Wêrom lûkt myn VLOOKUP ferkearde gegevens?
D'r kinne noch mear redenen wêze wêromjo VLOOKUP jout in ferkearde wearde:
- Ferkearde sykmodus . As jo in eksakte oerienkomst wolle, wês dan wis dat jo it argumint range_lookup ynstelle op FALSE. De standert is TRUE, dus as jo dit argumint weilitte, sil VLOOKUP oannimme dat jo sykje nei in ûngefear oerienkomst en sykje nei de tichtste wearde dy't lytser is as de opsykwearde.
- De opsykkolom is net sortearre . Foar likernôch oerienkomst VLOOKUP ( range_lookup ynsteld op TRUE) om goed te wurkjen, moat de earste kolom yn 'e tabelarray yn oprinnende folchoarder wurde sortearre, fan lyts nei grutste.
- Duplikaten yn de opsykkolom . As de opsykkolom twa of mear dûbele wearden befettet, sil VLOOKUP de earste fûn wedstriid weromjaan, dy't miskien net dejinge is dy't jo ferwachtsje.
- Ferkearde returnkolom . Dûbel kontrolearje it yndeksnûmer yn it 3e argumint :)
VLOOKUP wurket net tusken twa blêden
Earst moat opmurken wurde dat de mienskiplike redenen fan #N/A, #VALUE, en #REF flaters hjirboppe besprutsen kinne deselde problemen feroarsaakje by it opsykjen fan in oar blêd. As it net it gefal is, kontrolearje dan de folgjende punten:
- Soargje derfoar dat de eksterne ferwizing nei in oar blêd of in oar wurkboek goed is.
- As jo in Vlookup dwaan fan in oar wurkboek dat is op it stuit sletten , kontrolearje dan dat jo formule it folsleine paad nei it sletten wurkboek befettet.
- As