Sisukord
VLOOKUP on üks kõige levinumaid ja kasulikumaid funktsioone. Kuna seda kasutatakse laialdaselt, siis paljud inimesed on kurtnud, et ei tööta VLOOKUP õigesti või näitab ebaõigeid tulemusi. VLOOKUP on mõned piirangud, kuid enamik vigu, mida me saame, on tingitud sellest, et me ei mõista süntaksit õigesti või ei kasuta seda hoolikalt. Selles artiklis selgitan, miks VLOOKUP ei tööta.
Et selgitus oleks arusaadav, kasutan andmekogumit, mis kujutab tooteinformatsiooni konkreetse puuviljapoe kohta. Andmekogumis on 5 veergu; need on järgmised Puuviljad , Tellimuse ID, kogus (kg), hind, ja Tellimuse kuupäev .
Lae alla praktikasse
Laadige töövihik alla allolevalt lingilt.
VLOOKUP ei tööta Excel.xlsxis8 põhjust, miks VLOOKUP ei tööta
1. VLOOKUP ei tööta ja näitab N/A viga
Selles jaotises näitan teile, miks on #N/A viga toimub töö käigus funktsioon VLOOKUP . samuti soovitan teile parim lahendus, et vältida #N/A viga.
1.1. Ees- ja tagapool olevad tühikud
Suures andmelehes on tavaline võimalus, et seal on üleliigseid tühikuid. Samuti on viga raske tuvastada, sest viga ei ilmne, kui te ei vaata andmestikku hoolikalt läbi.
Siinkohal kohaldasin ma VLOOKUP valemiga õigesti.
Kõigepealt valige lahter, kuhu paigutate oma tulemusväärtuse.
➤ Ma valisin lahtri I4
Seejärel sisestage järgmine valem lahtrisse Vormel Baar .
=VLOOKUP(H4,B4:F12,2)
Siin on VLOOKUP funktsioon, ma valisin lahtri H4 nagu lookup_value ja valis vahemiku B4:F12 nagu table_array Kuna ma tahan teada Tellimuse ID nii et arvestades 2 nagu col_index_num .
Vajutage SISESTA võti. Nüüd pidid sa saama Tellimuse ID kohta look_up väärtus, kuid see näitab #N/A .
Nüüd, pärast andmestiku vaatamist leiate, et lookup_value Apple on mõned juhtivad ruumid, mistõttu VLOOKUP ei tööta.
Lahendus :
Ülemiste või tagumiste tühikute eemaldamiseks kasutage käsku lookup_value argument koos funktsioon TRIM jooksul VLOOKUP funktsioon.
Las ma näitan teile, kuidas saate kasutada TRIM funktsioonis sisalduva VLOOKUP funktsioon.
Et vältida VLOOKUP viga sisestage valitud lahtrisse järgmine valem.
=VLOOKUP(TRIM(H4),B4:F12,2)
Siin on TRIM funktsioon eemaldab kõik olemasolevad eesmised ja tagumised tühikud valitud lahtrist. H4 .
1.2. VLOOKUPi trükivigade puhul ei tööta VLOOKUP
Tippimisviga lookup_value on veel üks põhjus, miks ei tööta VLOOKUP .
Siin näete, et sisestasin valemi õigesti valitud lahtrisse.
=VLOOKUP(H4,B4:F12,2)
Vajutage SISESTA klahvi, kuid selle asemel, et näidata Tellimuse ID näitab see teile #N/A viga.
Nüüd vaadake lookup_value näete, et kirjapilt Apple on vale, see on põhjus, miks VLOOKUP ei tööta.
Lahendus :
Kirjutage alati hoolikalt lookup_value Te peate säilitama andmetabelist saadud väärtuse täpse kirjapildi.
Kui ma sisestasin lookup_value nagu see on tabelis nii VLOOKUP töötab.
1.3. Tekstina vormindatud arvväärtus
Juhul, kui numbrilised väärtused on vormindatud tekstina dokumendis table_array siis näitab see teile #N/A viga kasutades VLOOKUP funktsioon.
Ma püüan saada Hind kasutades Tellimuse ID nagu lookup_value .
Kõigepealt valige lahter, kuhu paigutate oma tulemusväärtuse.
➤ Ma valisin lahtri I4
Seejärel sisestage järgmine valem lahtrisse Vormel Baar .
=VLOOKUP(H4,C4:F12,3)
Vajutage SISESTA Seega saate te #N/A vea asemel Hind .
Kui te lähete nüüd läbi Tellimuse ID veergu, siis näete numbrit 1001 on vormistatud tekstina. See on põhjus, miks ei tööta VLOOKUP .
Lahendus :
Selliste vigade vältimiseks kontrollige alati numbriliste väärtuste formaati. Siinkohal parandasin numbrilise formaadi numbriks number, nii et VLOOKUP töötab.
Loe edasi: VLOOKUP osaline tekst ühest Exceli lahtrist
1.4. Otsinguväärtus ei ole kõige vasakpoolsem veerg
The VLOOKUP funktsioon säilitab jada, mis on lookup_value peab olema kõige vasakpoolsem veerg , kui mitte, siis see ei tööta.
Ma püüan saada Hind kasutades Tellimuse ID nagu lookup_value .
Seega kasutasin järgmist valemit.
=VLOOKUP(H4,B4:F12,3)
Kuid siin on Tellimuse ID veerg ei ole kõige vasakpoolsem veerg table_array B4:F12 sellepärast on see näidatud #N/A viga.
Lahendus :
Siin saab viga vältida 2 viisil.
⏩ Üks on see, et saate muuta table_array kus lookup_value on kõige vasakpoolsem veerg.
⏩ Teiseks, võite paigutada lookup_value veerg andmekogumi tabeli kõige vasakpoolsemas positsioonis.
Loe edasi: VLOOKUP kahe otsinguväärtusega Excelis (2 lähenemisviisi)
1.5. Ülisuurendatud tabel või uue rea & veeru lisamine koos väärtusega
Mõnikord lisame oma andmekogumisse uusi andmeid, kuid unustame muuta table_array siis VLOOKUP ei saa korralikult töötada.
Ma püüan saada Tellimuse ID kasutades Puuviljad nagu lookup_value .
Seega kasutasin järgmist valemit.
=VLOOKUP(H4,B4:F12,2,FALSE)
Siin kasutasin ma täpne vaste tüüpi, et vältida eksitavat teavet ja sisestatud teavet ka Lichi veel sai viga, sest ma ei uuendanud table_array .
Lahendus :
Pidage meeles, et alati, kui lisate oma andmekogumi tabelisse uusi andmeid, uuendage tabelit table-array samuti.
⏩ Siin ma uuendasin table_array valemiga.
=VLOOKUP(H4,B4:F14,2,FALSE)
⏩ Teine võimalus on teisendada oma andmestik tabeliks.
Kõigepealt valige lahtri vahemik.
Seejärel avage Sisesta >> valige Tabel
A dialoogiboks avaneb.
Seejärel klõpsake OK .
Kuna teie andmestik on nüüd muudetud tabeliks, saate lihtsalt kasutada tabeli nime.
Loe edasi: Miks VLOOKUP tagastab #N/A, kui vaste on olemas? (5 põhjust & Lahendused)
2. VLOOKUP ei tööta ja näitab VALUE Viga
Sellest jaotisest saate teada, miks on #VALUE viga toimub töö ajal VLOOKUP funktsioon. Samuti soovitan teile kõikvõimalikku lahendust, et vältida #VALUE viga.
2.1. Veergude indeksinumbri puhul, mis on väiksem kui 1
Kui te kasutate ekslikult col_index_num vähem kui 1 , siis saate #VALUE viga.
Juhul, kui sa saad selle #VALUE palun kontrollige oma col_index_num argument.
Loe edasi: VLOOKUP numbritega Excelis (4 näidet)
2.2. Rohkem kui 255 tähemärgi kasutamine
Oletame, et teil on pikk tekst väärtusena, mis on suurem kui 255 tähemärki, siis on teil #VALUE viga.
Siin on A7 lahtrisse sisestasin väärtuse, mis ületab 255 tegelased.
Seejärel kasutati järgmist valemit
=VLOOKUP(G4,A4:E12,2)
Nüüd näete, et tulemus näitab #VALUE viga.
Lahendus :
Selle vea vältimiseks võite kas vähendada märki või kasutada INDEX ja MATCH funktsioonid selle asemel, et VLOOKUP .
Siin kasutasin ma MATCH ja INDEX funktsioon.
=INDEX($B$4:$B$12,MATCH(TRUE,INDEX($A$4:$A$12=G4,0),0))
Siin on INDEX funktsioon valis lahtri vahemiku absoluutse viite $B$4:$B$12 kust ma tahan tagastada väärtuse.
In the MATCH funktsioon, antud TÕELINE nagu lookup_value ja kasutas teist INDEX($A$4:$A$12=G4,0) funktsioon nagu lookup_array siis kasutatakse võetud 0 nagu match_type kasutada Täpne vaste .
Vajutage SISESTA klahvi ja saate tulemuse lookup_value rohkem kui 255 tegelased.
Loe edasi: INDEX MATCH vs VLOOKUP funktsioon (9 näidet)
Sarnased lugemised
- Excel LOOKUP vs VLOOKUP: 3 näite abil
- Kuidas muuta VLOOKUP-i juhtumitundlikuks Excelis (4 meetodit)
- Exceli VLOOKUP, et leida viimane väärtus veerus (koos alternatiividega)
- Kuidas täita VLOOKUP-i koos Wildcardiga Excelis (2 meetodit)
- Excel VLOOKUP mitme väärtuse vertikaalseks tagastamiseks
3. VLOOKUP ei tööta ja näitab REF-viga
Siin saate teada, miks #REF viga toimub töö ajal VLOOKUP funktsiooni ja ka, saad lahenduse, et vältida #REF viga.
3.1. Veergude indeksinumbri kasutamine suurem kui tabelis olev number
Juhul, kui kasutate col_index_num suurem kui veergude arv, mis teil on olemas. table_array siis saate #REF viga.
Siin olen kasutanud 6 nagu col_index_number kuid table_array on 5 veerud kokku, mis on põhjus, miks VLOOKUP funktsioon ei tööta ja näitab #REF viga.
Lahendus :
Et vältida #REF viga kontrollib col_index_num ja kasutada numbrit, mis on table_array .
Loe edasi: VLOOKUP mitme veeru tagastamiseks Excelis (4 näidet)
4. VLOOKUP NAME Viga
Las ma näitan teile, miks #NAME viga tekib ja kuidas seda eemaldada.
4.1. Funktsiooni VLOOKUP ei tööta VLOOKUPi valesti kirjutamise korral
The #NAME viga tuleb funktsioonide nime valesti kirjutamise tõttu.
Lahendus :
Et vältida #NAME vead kasutavad alati Exceli sisseehitatud funktsioonist sobivat funktsiooni nime.
5. Ligikaudse vaste kasutamine
Kui kasutate ligikaudne vastavus (TRUE) siis jääb võimalus kas #N/A viga või vale tulemus.
Ma püüan saada Tellimuse ID kasutades Puuviljad nagu lookup_value .
Seega kasutasin järgmist valemit.
=VLOOKUP(H4,B4:F12,2,TRUE)
Aga siin andsin ma Lichi nagu lookup_value ja kasutatud TÕELINE nagu range_lookup . VLOOKUP näitab 1007 nagu Tellimuse ID mis on vale, sest 1007 on Tellimuse ID aadressilt Kirss .
Kuna ma kasutasin ligikaudset vastet, siis vea näitamise asemel näitab see vale teavet.
Lahendus :
Kasutage lookup_value ettevaatlikult. Selle asemel, et kasutada ligikaudne kokkulangevus tüüpi saab kasutada täpne vaste tüüp. Ma arvan, et vea saamine on palju parem kui eksitav teave.
Valemi saab kokku kerida valemiga funktsioon IFERROR näidata mis tahes veateadet, kui ta ei leia väärtust vahemikus.
6. Tabeli viide on suhteline
Kui teie tabeli massiivi on viidatud suhteliselt siis võib teil olla veateade või viga, kui kopeeritakse valemit, et otsing muud väärtused.
Lahendus :
Selle vea vältimiseks kasutage absoluutset viidet.
Vajutage F4 klahvi valides viite, siis konverteerib see suhteline viide aadressile absoluutne viide .
Siin kasutasin järgmist valemit
=VLOOKUP(I4,C4:$F$12,2)
7. VLOOKUP ei tööta Uue veeru sisestamiseks
Kui te lisate olemasolevasse andmekogumisse uue veeru, siis on VLOOKUP funktsioon ei tööta. col_index-num kasutatakse teabe tagastamiseks kirje kohta, mis on kirjas VLOOKUP funktsioon. col_index-num ei ole püsiv, nii et kui sisestate uue, siis on VLOOKUP ei tööta.
Siin on näha VLOOKUP funktsioon töötab korralikult.
Aga siin ma lisasin ühe uue veeru, mis on põhjus, miks see näitab 0 selle asemel, et näidata oodatud tulemust.
Lahendus :
⏩ Selliste probleemide vältimiseks võite kas kaitsta töölehte nii, et keegi ei saa sisestada uusi veerge, kuid see ei ole piisavalt sõbralik.
⏩ Teine lahendus on, et saate kasutada MATCH funktsioonis sisalduva VLOOKUP funktsioon.
Nii et kirjutage järgmine valem.
=VLOOKUP(I4,B4:G12,MATCH(J3,B3:G3,0),FALSE)
Siinkohal on funktsioon VLOOKUP , valisin lahtri I4 nagu lookup_value seejärel valis vahemiku B4:G12 nagu table_array ja kui col_index_num kasutas MATCH funktsioon, mida kasutatakse ka VALE nagu range_lookup saada Täpne vaste .
In the MATCH funktsioonis kasutasin veeru nime J3 nagu lookup_value , seejärel valitakse veergude nimede vahemik B3:G3 nagu lookup_array siis võetakse 0 nagu match_type kasutada Täpne vaste .
Vajutage SISESTA Seega saate soovitud tulemuse.
8. Otsinguväärtusel on dubleerivad väärtused
Juhul, kui teie lookup_value sisaldab dubleerivaid väärtusi, siis VLOOKUP ei tööta kõigi olemasolevate väärtuste puhul.
VLOOKUP tagastab ainult esimese väärtuse, mis vastab otsitud väärtusele.
Lahendus :
Selliste probleemide vältimiseks võite kas eemaldada duplikaadid või kasutada funktsiooni pivot-tabel .
⏩ Duplikaadid saate eemaldada, kasutades selleks funktsiooni Duplikaatide eemaldamine siis Ribbon.
⏩ Samuti saate kasutada funktsiooni Pivot tabel .
Selle kasutamiseks,
Kõigepealt valige lahtrivahemik
Seejärel avage Sisesta tab>> valige Pivot tabel
A dialoogiboks avaneb, valige koht, seejärel klõpsake OK .
Nüüd saate valida Puuviljad ja Tellimuse ID aadressil Rid siis näitab see olemasolevat Tellimuse ID teie valitud Puuviljad .
Loe edasi: Kuidas leida dubleerivaid väärtusi Excelis, kasutades VLOOKUP-i
Praktika sektsioon
Olen andnud töövihikus harjutamislehe, et harjutada neid selgitatud viise.
Kokkuvõte
Selles artiklis püüdsin katta kõik stsenaariumid, mis on seotud VLOOKUP ei tööta koos lahendusega, et vältida vigu. Need erinevad viisid aitavad teil töötada koos VLOOKUP toimida tõhusamalt ja lihtsamalt. Lõpetuseks, kui teil on mingeid ettepanekuid, ideid või tagasisidet, siis palun kommenteerige allpool.