Enhavtabelo
Ĉu via VLOOKUP tiras malĝustajn datumojn aŭ vi tute ne povas funkcii ĝin? Ĉi tiu lernilo montras kiel vi povas rapide ripari oftajn VLOOKUP-erarojn kaj venki ĝiajn ĉefajn limigojn.
En kelkaj pli fruaj artikoloj, ni esploris malsamajn aspektojn de la Excel VLOOKUP-funkcio. Se vi sekvis nin proksime, nun vi devus esti fakulo pri ĉi tiu areo :)
Tamen, ne senkaŭze multaj specialistoj de Excel konsideras VLOOKUP kiel unu el la plej komplikaj Excel-funkcioj. Ĝi havas multon da limigoj, kiuj estas la fonto de diversaj problemoj kaj eraroj.
En ĉi tiu artikolo, vi trovos simplajn klarigojn pri la ĉefaj kaŭzoj de VLOOKUP-eraroj kiel ekzemple #N/A, #NAME kaj #VALUE, same kiel iliaj solvoj kaj korektoj. Ni komencos per la plej evidentaj kialoj, kial VLOOKUP ne funkcias, do povus esti bona ideo kontroli la subajn problemojn pri solvo en ordo.
Ripari #N/A eraro en VLOOKUP
En VLOOKUP formuloj, la #N/A erarmesaĝo (signifas "ne havebla") estas montrata kiam Excel ne povas trovi serĉvaloron. Povas esti pluraj kialoj kial tio povas okazi.
1. La serĉvaloro estas misliterumita
Ĉiam estas bona ideo unue kontroli la plej evidentan aferon : ) Misprintoj ofte okazas kiam vi laboras kun vere grandaj datumaj aroj konsistantaj el miloj da vicoj, aŭ kiam serĉvaloro estas tajpita. rekte en la formulo.
2.VLOOKUP ne povas elekti tabelan tabelon en alia laborfolio (t.e. kiam vi reliefigas gamon en la serĉfolio, nenio aperas en la argumento table_array en la formulo aŭ en la responda skatolo de la formulo. sorĉisto), tiam plej verŝajne la du folioj estas malfermitaj en apartaj kazoj de Excel kaj ne povas komuniki unu kun la alia. Por pliaj informoj, bonvolu vidi Kiel determini kiuj Excel-dosieroj estas en kiu okazo. Por ripari ĉi tion, simple fermu ĉiujn Excel-fenestrojn, kaj poste remalfermu la foliojn/laborlibrojn en la sama okazo (la defaŭlta konduto). Kiel Vserĉi sen eraroj en Excel
Se vi ne volas timigi viajn uzantojn per normaj Excel-eraraj notacioj, vi povas montri vian propran uzantan tekston anstataŭe aŭ redoni malplenan ĉelon se nenio estas trovita. Ĉi tio povas esti farita per uzado de VLOOKUP kun IFERROR aŭ IFNA-funkcio.
Kaptu ĉiujn erarojn
En Excel 2007 kaj poste, vi povas uzi la funkcion IFERROR por kontroli formulon de VLOOKUP por eraroj kaj redoni vian propra teksto (aŭ malplena ĉeno) se iu eraro estas detektita.
Ekzemple:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")
En Excel 2003 kaj pli frue, vi povas uzu la formulon SE ESTAS ERROR por la sama celo:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))
Por pliaj detaloj, bonvolu vidi Uzado de IFERARO kun VLOOKUP en Excel.
Pritraktu #N/A-erarojn
Por kapti nur #N/A-erarojn ignorante ĉiujn aliajn erartipojn, uzu la IFNA-funkcion (en Excel 2013 kajpli alta) aŭ IF ISNA-formulo (en ĉiuj versioj).
Ekzemple:
=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))
Tio estas ĉio por hodiaŭ. Espereble, ĉi tiu lernilo helpos vin forigi VLOOKUP-erarojn kaj havi viajn formulojn funkciantaj kiel vi volas.
Kiel VLOOKUP en Excel - video lernilo
#N/A en proksimuma kongruo VLOOKUPSe via formulo serĉas la plej proksiman kongruon, ( range_lookup argumento agordita al VERA aŭ preterlasita), la #N/A eraro povas aperi en du kazoj :
- La serĉa valoro estas pli malgranda ol la plej malgranda valoro en la serĉa tabelo.
- La serĉa kolumno ne estas ordigita laŭkreska.
3 . #N/A en preciza kongruo VLOOKUP
Se vi serĉas ĝustan kongruon ( range_lookup argumento agordita al FALSA), la #N/A eraro okazas kiam valoro precize egala al la serĉo valoro ne estas trovita. Por pliaj informoj, vidu VLOOKUP preciza kongruo kontraŭ proksimuma kongruo.
4. La serĉkolumno ne estas la plej maldekstra kolumno de la tabela tabelo
Unu el la plej signifaj limigoj de Excel VLOOKUP estas, ke ĝi ne povas rigardi maldekstren. Sekve, serĉkolumno ĉiam estu la plej maldekstra kolumno en la tabela tabelo. Praktike, ni ofte forgesas pri tio kaj finiĝas kun #N/A eraroj.
Solvo : Se ne eblas restrukturi viajn datumojn por ke la serĉkolumno estu la plej maldekstra kolumno, vi povas uzi la funkciojn INDEX kaj MATCH kune kiel alternativo al VLOOKUP. Jen ekzemplo de formulo: INDEX MATCH formulo por serĉi valorojn maldekstre.
5. Ciferoj estas formatitaj kiel teksto
Alia komuna fonto #N/A-eraroj en VLOOKUP-formuloj estas nombroj formatitaj kiel teksto, ĉu en la ĉefa aŭ serĉtabelo.
Tio kutime estas.okazas kiam vi importas datumojn el iu ekstera datumbazo aŭ se vi tajpis apostrofon antaŭ nombro por montri antaŭajn nulojn.
Jen la plej evidentaj indikiloj de nombroj formatitaj kiel teksto:
Solvo: Elektu ĉiujn problemajn nombrojn, alklaku la erarpikonon kaj elektu Konverti al Nombro el la kunteksta menuo. Por pliaj informoj, bonvolu vidi Kiel konverti tekston al nombro en Excel.
6. Ĉefaj aŭ malantaŭaj spacoj
Ĉi tio estas la malplej evidenta kaŭzo de la eraro VLOOKUP #N/A ĉar homa okulo apenaŭ povas ekvidi tiujn kromajn spacojn, precipe kiam oni laboras kun grandaj datumaroj kie la plej multaj el la enskriboj estas sub la rullibro. .
Solvo 1: Kromaj spacoj en la serĉvaloro
Por certigi la ĝustan laboron de via VLOOKUP formulo, envolvu la serĉvaloron en la TRIM funkcio:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Solvo 2: Kromaj spacoj en la serĉkolumno
Se kromaj spacoj aperas en la serĉkolono, tie ne estas facila maniero eviti #N/A-erarojn en VLOOKUP. Anstataŭe, vi povas uzi kombinaĵon de INDEX, MATCH kaj TRIM-funkcioj kiel tabelformulo:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Ĉar tio estas tabelformulo, ne forgesu premi Ctrl + Shift + Enter. por ĝuste kompletigi ĝin (en Excel 365 kaj Excel 2021 kie tabeloj estas indiĝenaj, ĉi tio ankaŭ funkcias kiel regula formulo).
Konsileto. Rapida alternativo estas ruli la ilon Trim Spaces, kiu eliminostroaj spacoj kaj en la serĉo kaj ĉefaj tabeloj en sekundoj, farante viajn VLOOKUP-formulojn seneraraj.
#VALORO! eraro en VLOOKUP-formuloj
Ĝenerale, Microsoft Excel montras la #VALORO! eraro se valoro uzata en la formulo estas de malĝusta datumtipo. Koncerne VLOOKUP, estas du komunaj fontoj de la VALORO! eraro.
1. Serĉvaloro superas 255 signojn
Bonvolu konscii, ke VLOOKUP ne povas serĉi valorojn enhavantajn pli ol 255 signojn. Se viaj serĉaj valoroj superas ĉi tiun limon, #VALORO! eraro montriĝos:
Solvo : Anstataŭe uzu INDEX-MATCH-formulon. En nia kazo, ĉi tiu formulo funkcias perfekte:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. Plena vojo al la serĉlibro ne estas provizita
Se vi tiras datumojn de alia laborlibro, vi devas inkluzivi la plenan vojon al ĝi. Pli precize, vi devas enmeti la nomon de la laborlibro inkluzive de la etendo inter [kvadrataj krampoj] kaj specifi la nomon de la folio sekvata de la ekkrio. Se la laborlibronomo aŭ folinomo, aŭ ambaŭ, enhavas spacojn aŭ ajnajn ne-alfabetajn signojn, la vojo devas esti enfermita per unuopaj citiloj.
Jen la strukturo de la argumento table_array al Vserĉo el alia laborlibro:
'[workbook name]sheet name'!range
Vera formulo povus aspekti simila al ĉi tio:
=VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)
La supra formulo serĉos la valoron de A2 en kolumno B de Sheet1 en la NovaPrices laborlibro, kaj redonu kongruan valoron el kolumno D.
Se iu elemento de la vojo mankas, via VLOOKUP-formulo ne funkcios kaj redonos la #VALUE-eraron (krom se la serĉa laborlibro estas nuntempe malfermita).
Por pliaj informoj, bonvolu vidi:
- Kiel referenci al alia folio aŭ laborlibro en Excel
- Kiel fari Vserĉon de malsama laborlibro
3. La argumento col_index_num estas malpli ol 1
Estas malfacile imagi situacion, kiam iu intence enigas nombron malpli ol 1 por specifi la kolumnon el kiu resendi valorojn. Sed povas okazi se ĉi tiu argumento estas resendita de iu alia funkcio nestita en via VLOOKUP formulo.
Do, se la argumento col_index_num estas ol 1, via formulo redonos la #VALORO! eraro ankaŭ.
Se col_index_num estas pli granda ol la nombro de la kolumnoj en la tabela tabelo, VLOOKUP produktas la #REF! eraro.
Solvanta VLOOKUP #NAME-eraro
Ĉi tio estas la plej facila kazo - la #NOMO? eraro aperas se vi hazarde misliterumis la nomon de la funkcio.
La solvo estas evidenta - kontrolu la literumon :)
La ĉefaj kaŭzoj de eraroj en Excel VLOOKUP
Krom havante sufiĉe komplikan sintakson, VLOOKUP havas verŝajne pli da limigoj ol iu ajn alia Excel-funkcio. Pro ĉi tiuj limigoj, ŝajne ĝusta formulo ofte povas doni rezultojn malsamajn ol kion vi atendis. Malsupre vi trovossolvoj por kelkaj tipaj scenaroj kiam VLOOKUP malsukcesas.
VLOOKUP estas majusklan
La funkcio VLOOKUP ne distingas la literan majusklan kaj tezas minusklajn kaj majusklojn kiel identajn.
Solvo : Uzu VLOOKUP, XLOOKUP aŭ INDEX MATCH kombine kun la EKZAKTA funkcio, kiu povas kongrui kun teksta majuskla. Vi povas trovi la detalajn klarigojn kaj formulekzemplojn en ĉi tiu lernilo: 5 manieroj fari uskle-distintan Vserĉon en Excel.
Nova kolumno estis enigita aŭ forigita de la tabelo
Bedaŭrinde, VLOOKUP. formuloj ĉesas funkcii ĉiufoje kiam nova kolumno estas forigita de aŭ aldonita al la serĉtabelo. Ĉi tio okazas ĉar la sintakso de la funkcio VLOOKUP postulas difini la indeksan numeron de la revenkolumno. Kiam nova kolumno estas aldonita al/forigita de la tabela tabelo, evidente tiu indeksa nombro ŝanĝiĝas.
Solvo : La formulo INDEX MATCH denove venas al la savo : ) Kun INDEX MATCH, vi specifu la serĉajn kaj revenajn intervalojn aparte, do vi rajtas forigi aŭ enmeti tiom da kolumnoj kiom vi volas sen zorgi pri ĝisdatigo de ĉiu rilata formulo.
Ĉelreferencoj ŝanĝiĝas dum kopiado de la formulo al aliaj ĉeloj
La titolo donas ĝisfundan klarigon de la problemo, ĉu ne?
Solvo : Ĉiam uzu absolutajn referencojn (kun la $-signo) por la argumento table_array , ekz. $A$2:$C$100 aŭ$A:$C. Vi povas rapide ŝanĝi inter malsamaj referencaj tipoj premante la F4-klavon.
VLOOKUP redonas la unuan trovitan valoron
Kiel vi jam scias, Excel VLOOKUP redonas la unuan valoron kiun ĝi trovas. Tamen, vi povas devigi ĝin alporti la 2-an, 3-an, 4-an aŭ ajnan alian okazon, kiun vi volas. Estas ankaŭ maniero akiri la lastan kongruon aŭ ĉiujn trovitajn kongruojn.
Solvoj : Formulekzemploj haveblas ĉi tie:
- VLOOKUP kaj resendas N-an aperon
- VLOOKUP multoblaj valoroj
- XLOOKUP formulo por akiri la lastan kongruon
Kial mia VLOOKUP funkcias por iuj ĉeloj sed ne por aliaj?
Kiam vi VLOOKUP-formulo resendas la ĝustajn datumojn I iuj ĉeloj kaj #N/A eraroj en aliaj, povas esti kelkaj eblaj kialoj kial tio okazas.
1. La tabela tabelo ne estas ŝlosita
Supoze, ke vi havas ĉi tiun formulon en la vico 2 (diru en E2), kiu bone funkcias:
=VLOOKUP(D2, A2:B10, 2, FALSE)
Kiam kopiite al vico 3, la formulo ŝanĝiĝas al:
=VLOOKUP(D3, A3:B11, 2, FALSE)
Ĉar relativa referenco estas uzata por table_array , ĝi ŝanĝiĝas laŭ la relativa pozicio de la vico kie la formulo estas kopiita , en nia kazo de A2:B10 ĝis A3:B11. Do, se la kongruo estas en la vico 2, ĝi ne estos trovita!
Solvo : Kiam vi uzas VLOOKUP-formulon por pli ol unu ĉelo, ĉiam ŝlosu la tabelan tabelon referenco kun la $ signo kiel $A$2:$B$10.
2. Tekstaj valoroj aŭ datumtipoj ne kongruas
Aliaofta kialo por malsukceso de VLOOKUP estas la diferenco inter via serĉvaloro kaj simila valoro en la serĉkolumno. En iuj kazoj, la diferenco estas tiel subtila ke estas malfacile rimarkebla vide.
Solvo : Kiam VLOOKUP resendas #N/A eraron dum vi povas klare vidi la serĉvaloron en la serĉkolumno, kaj ŝajne ambaŭ estas literumitaj precize same, la unua afero, kiun vi devas fari, estas determini la radikan kaŭzon de la problemo - la formulo aŭ la fontodatumoj.
Por vidi ĉu la du valoroj estas la sama aŭ malsama, faru rektan komparon tiamaniere:
=E1=A4
Kie E1 estas via serĉvaloro kaj A4 estas identa valoro en la serĉkolumno.
Se la serĉa kolumno. formulo liveras FALSE, tio signifas, ke la valoroj iel malsamas, kvankam ili aspektas tute similaj.
En kazo de numeraj valoroj , la plej ebla kialo estas nombroj formatitaj kiel teksto.
Okaze de tekstaj valoroj , plej verŝajne la problemo estas en troaj spacoj. Por kontroli ĉi tion, malkovru la totalan longon de la du ŝnuroj uzante la funkcion LEN:
=LEN(E1)
=LEN(A4)
Se la rezultaj nombroj estas malsamaj (kiel en la suba ekrankopio ), tiam vi indikis la kulpulon - kromajn spacojn:
Por solvi la problemon, aŭ forigu kromajn spacojn aŭ uzu ĉi tiun formulon de INDEX MATCH TRIM kiel solvon.
Kial mia VLOOKUP tiras malĝustajn datumojn?
Povus ekzisti eĉ pli da kialoj kialvia VSERĈO redonas malĝustan valoron:
- Malĝusta serĉreĝimo . Se vi volas ĝustan kongruon, nepre agordu la argumenton range_lookup al FALSA. La defaŭlta estas VERA, do se vi preterlasas ĉi tiun argumenton, VLOOKUP supozos, ke vi serĉas proksimuman kongruon kaj serĉos la plej proksiman valoron kiu estas pli malgranda ol la serĉvaloro.
- La serĉkolumno ne estas. ordigita . Por ke proksimuma kongruo VLOOKUP ( range_lookup agordita al VERA) funkciu ĝuste, la unua kolumno en la tabela tabelo devas esti ordigita en pligranda ordo, de plej malgranda al plej granda.
- Duplikatoj en la serĉkolumno . Se la serĉkolumno enhavas du aŭ pli duplikatajn valorojn, VLOOKUP resendos la unuan trovitan kongruon, kiu eble ne estas tiu, kiun vi atendas.
- Malĝusta revenkolumno . Duoble kontrolu la indeksan numeron en la 3-a argumento :)
VLOOKUP ne funkcias inter du folioj
Unue, oni devas rimarki, ke la komunaj kialoj de #N/A, #VALUE, kaj #REF-eraroj diskutitaj supre povas kaŭzi la samajn problemojn kiam oni rigardas supren el alia folio. Se ne estas la kazo, kontrolu la sekvajn punktojn:
- Certigu, ke la ekstera referenco al alia folio aŭ al alia laborlibro estas ĝusta.
- Kiam vi faras Vserĉon el alia laborlibro, kiu estas fermita momente, kontrolu, ke via formulo enhavas la plenan vojon al la fermita laborlibro.
- Se