Excel VLOOKUP no funciona: correcció dels errors #N/A i #VALUE

  • Comparteix Això
Michael Brown

Taula de continguts

El vostre VLOOKUP extreu dades incorrectes o no podeu fer-ho funcionar en absolut? Aquest tutorial mostra com podeu corregir ràpidament els errors comuns de BUSCAR VOLTA i superar les seves principals limitacions.

En alguns articles anteriors, vam explorar diferents aspectes de la funció BUSCAR V d'Excel. Si ens heu estat seguint de prop, a hores d'ara hauríeu de ser un expert en aquesta àrea :)

No obstant això, no és sense raó que molts especialistes d'Excel considerin que BUSCAR V és una de les funcions d'Excel més complexes. Té un munt de limitacions, que són l'origen de diversos problemes i errors.

En aquest article, trobareu explicacions senzilles de les principals causes dels errors de VLOOKUP, com ara #N/A, #NAME i #VALUE, així com les seves solucions i solucions. Començarem per les raons més òbvies per les quals BUSCARV no funciona, així que pot ser una bona idea consultar els passos de resolució de problemes següents en ordre.

    Solucionant l'error #N/A a BUSCARV

    A les fórmules BUSCARV, el missatge d'error #N/A (que significa "no disponible") es mostra quan Excel no pot trobar un valor de cerca. Hi pot haver diverses raons per les quals això pot passar.

    1. El valor de cerca està escrit malament

    Sempre és una bona idea comprovar primer el més obvi : ) Els errors d'impressió sovint es produeixen quan es treballa amb conjunts de dades molt grans formats per milers de files o quan s'escriu un valor de cerca. directament a la fórmula.

    2.VLOOKUP no pot escollir una matriu de taula en un altre full de treball (és a dir, quan ressalteu un interval al full de cerca, no apareix res a l'argument table_array de la fórmula o al quadre corresponent de la fórmula assistent), llavors el més probable és que els dos fulls estiguin oberts en instàncies separades d'Excel i no es puguin comunicar entre ells. Per obtenir més informació, vegeu Com determinar quins fitxers d'Excel es troben en quin cas. Per solucionar-ho, tanqueu totes les finestres d'Excel i torneu a obrir els fulls/llibres de treball a la mateixa instància (el comportament predeterminat).

    Com fer una cerca sense errors a Excel

    Si no voleu intimidar els vostres usuaris amb anotacions d'error estàndard d'Excel, podeu mostrar el vostre propi text fàcil d'utilitzar o tornar una cel·la en blanc si no es troba res. Això es pot fer utilitzant BUSCARV amb la funció IFERROR o IFNA.

    Captura tots els errors

    A Excel 2007 i posteriors, podeu utilitzar la funció IFERROR per comprovar si hi ha errors en una fórmula de BUSCARV i retornar el vostre text propi (o una cadena buida) si es detecta algun error .

    Per exemple:

    =IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Oops, something went wrong")

    A Excel 2003 i anteriors, podeu utilitzeu la fórmula SI ÉSERROR amb el mateix propòsit:

    =IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Oops, something went wrong", VLOOKUP(E1, A2:B10, 2, FALSE))

    Per a més detalls, consulteu Ús d'IFERROR amb BUSCAR V a Excel.

    Gestionar els errors #N/A

    Per atrapar només els errors #N/A ignorant tots els altres tipus d'error, utilitzeu la funció IFNA (a Excel 2013 isuperior) o la fórmula IF ISNA (en totes les versions).

    Per exemple:

    =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))

    Això és tot per avui. Tant de bo, aquest tutorial us ajudarà a desfer-vos dels errors de VLOOKUP i que les vostres fórmules funcionin de la manera que vulgueu.

    Com fer VLOOKUP a Excel - tutorial en vídeo

    #N/A en la concordança aproximada BUSCARV

    Si la vostra fórmula cerca la coincidència més propera, (l'argument range_lookup s'ha establert en TRUE o s'ha omès), l'error #N/A pot aparèixer en dos casos :

    • El valor de cerca és més petit que el valor més petit de la matriu de cerca.
    • La columna de cerca no està ordenada en ordre ascendent.

    3 . #N/A a la concordança exacta VLOOKUP

    Si cerqueu la concordança exacta (l'argument range_lookup s'ha establert en FALSE), l'error #N/A es produeix quan un valor exactament igual a la cerca no es troba el valor. Per obtenir més informació, consulteu BUSCAR V concordança exacta i concordança aproximada.

    4. La columna de cerca no és la columna més a l'esquerra de la matriu de la taula

    Una de les limitacions més significatives d'Excel VLOOKUP és que no pot mirar a la seva esquerra. En conseqüència, una columna de cerca sempre hauria de ser la columna més a l'esquerra de la matriu de la taula. A la pràctica, sovint ens oblidem d'això i acabem amb errors #N/A.

    Solució : si no és possible reestructurar les vostres dades de manera que la columna de cerca sigui la columna més a l'esquerra, podeu utilitzar les funcions INDEX i MATCH juntes com a alternativa a BUSCAR V. Aquí teniu un exemple de fórmula: INDEX MATCH fórmula per cercar valors a l'esquerra.

    5. Els números tenen el format de text

    Una altra font comú d'errors #N/A a les fórmules de BUSCAR V és els números amb format de text, ja sigui a la taula principal o de cerca.

    Això normalmentes produeix quan importeu dades d'alguna base de dades externa o si heu escrit un apòstrof abans d'un número per mostrar zeros a l'inici.

    A continuació es mostren els indicadors més evidents dels números formats com a text:

    Solució: Seleccioneu tots els números problemàtics, feu clic a la icona d'error i trieu Converteix a número al menú contextual. Per obtenir més informació, vegeu Com convertir text en nombre a Excel.

    6. Espais al capdavant o al final

    Aquesta és la causa menys òbvia de l'error VLOOKUP #N/A perquè un ull humà difícilment pot detectar aquests espais addicionals, especialment quan es treballa amb grans conjunts de dades on la majoria de les entrades es troben a sota del desplaçament. .

    Solució 1: espais addicionals al valor de cerca

    Per garantir el correcte funcionament de la fórmula BUSCARV, emboliqui el valor de cerca a la funció TRIM:

    =VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)

    Solució 2: espais addicionals a la columna de cerca

    Si apareixen espais addicionals a la columna de cerca, hi haurà No és una manera fàcil d'evitar errors #N/A a BUSCAR V. En comptes d'això, podeu utilitzar una combinació de funcions INDEX, MATCH i TRIM com a fórmula de matriu:

    =INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))

    Com que es tracta d'una fórmula de matriu, no us oblideu de prémer Ctrl + Maj + Retorn. per completar-lo correctament (a Excel 365 i Excel 2021 on les matrius són natives, això també funciona com una fórmula normal).

    Consell. Una alternativa ràpida és executar l'eina Tallar espais que eliminaràExcés d'espais tant a la cerca com a les taules principals en segons, fent que les vostres fórmules VLOOKUP estiguin lliures d'errors.

    #VALOR! error a les fórmules BUSCAR V

    En general, Microsoft Excel mostra el #VALOR! error si un valor utilitzat a la fórmula és d'un tipus de dades incorrecte. Pel que fa a BUSCARV, hi ha dues fonts comunes del VALOR! error.

    1. El valor de cerca supera els 255 caràcters

    Tingueu en compte que BUSCARV no pot cercar valors que continguin més de 255 caràcters. Si els vostres valors de cerca superen aquest límit, un #VALOR! es mostrarà l'error:

    Solució : feu servir una fórmula INDEX MATCH. En el nostre cas, aquesta fórmula funciona perfectament:

    =INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))

    2. No s'ofereix la ruta completa del llibre de treball de cerca

    Si extreu dades d'un altre llibre de treball, heu d'incloure-hi la ruta completa. Més precisament, heu d'incloure el nom del quadern de treball inclosa l'extensió entre [claussos] i especificar el nom del full seguit del signe d'exclamació. Si el nom del llibre de treball o el nom del full, o tots dos, contenen espais o caràcters no alfabètics, el camí s'ha de tancar entre cometes simples.

    Aquí teniu l'estructura de l'argument table_array per Cerca d'un altre llibre de treball:

    '[workbook name]sheet name'!range

    Una fórmula real podria semblar semblant a aquesta:

    =VLOOKUP($A$2,'[New Prices.xls]Sheet1'!$B:$D, 3, FALSE)

    La fórmula anterior cercarà el valor de A2 a la columna B de Sheet1 al NouPrices i retorna un valor coincident de la columna D.

    Si falta algun element del camí, la vostra fórmula VLOOKUP no funcionarà i retornarà l'error #VALUE (tret que el llibre de cerca estigui actualment). obert).

    Per obtenir més informació, vegeu:

    • Com consultar un altre full o llibre de treball a Excel
    • Com fer Vlookup des d'un llibre de treball diferent

    3. L'argument col_index_num és inferior a 1

    És difícil imaginar una situació en què algú introdueixi intencionadament un número inferior a 1 per especificar la columna des de la qual retornar els valors. Però pot passar si aquest argument és retornat per alguna altra funció imbricada a la vostra fórmula BUSCARV.

    Per tant, si l'argument col_index_num és superior a 1, la vostra fórmula retornarà el #VALOR! error també.

    Si col_index_num és més gran que el nombre de columnes de la matriu de la taula, BUSCARV produeix el #REF! error.

    Resolució de l'error #NAME de VLOOKUP

    Aquest és el cas més fàcil: el #NOM? apareix un error si heu escrit malament el nom de la funció per error.

    La solució és òbvia: comproveu l'ortografia :)

    Les principals causes dels errors a BUSCAR V d'Excel

    A part de tenint una sintaxi força complicada, VLOOKUP té més limitacions que qualsevol altra funció d'Excel. A causa d'aquestes limitacions, una fórmula aparentment correcta sovint pot donar resultats diferents dels que esperàveu. A continuació trobareusolucions per a alguns escenaris típics quan falla BUSCAR V.

    BUSCAR V no distingeix entre majúscules i minúscules

    La funció BUSCAR V no distingeix les majúscules i minúscules com a idèntics.

    Solució : utilitzeu BUSCARV, BUSCAR XL o COINCORDACIÓ ÍNDICE en combinació amb la funció EXACTA que pot coincidir amb majúscules i minúscules. Podeu trobar les explicacions detallades i exemples de fórmules en aquest tutorial: 5 maneres de fer una cerca V que distingeix entre majúscules i minúscules a Excel.

    S'ha inserit o eliminat una columna nova de la taula

    Lamentablement, CERCA V les fórmules deixen de funcionar cada vegada que s'elimina una columna nova o s'afegeix a la taula de cerca. Això passa perquè la sintaxi de la funció BUSCARV requereix definir el número d'índex de la columna de retorn. Quan s'afegeix o s'elimina una columna nova a la matriu de la taula, òbviament aquest número d'índex canvia.

    Solució : La fórmula INDEX MATCH torna al rescat : ) Amb INDEX MATCH, podeu especifiqueu els intervals de cerca i de retorn per separat, de manera que podeu suprimir o inserir tantes columnes com vulgueu sense preocupar-vos d'actualitzar totes les fórmules associades.

    Les referències de cel·les canvien en copiar la fórmula a altres cel·les

    L'encapçalament dóna una explicació exhaustiva del problema, oi?

    Solució : utilitzeu sempre referències absolutes (amb el signe $) per a l'argument table_array , p. $A$2:$C$100 o$A:$C. Podeu canviar ràpidament entre diferents tipus de referència si premeu la tecla F4.

    BUSCARV retorna el primer valor trobat

    Com ja sabeu, BUSCARV d'Excel retorna el primer valor que troba. Tanmateix, podeu obligar-lo a portar el 2n, 3r, 4t o qualsevol altra ocurrència que vulgueu. També hi ha una manera d'aconseguir l'última coincidència o totes les coincidències trobades.

    Solucions : aquí hi ha exemples de fórmules:

    • VLOOKUP i retorna l'enèsima ocurrència
    • VALORS MÚLTIPLES DE CERCA V
    • Fórmula de BUSCAR XL per obtenir l'última coincidència

    Per què la meva CERCA V funciona per a algunes cel·les però no per a altres?

    Quan La fórmula BUSCARV retorna les dades correctes en algunes cel·les i #N/A errors en d'altres, hi pot haver alguns motius possibles perquè això passi.

    1. La matriu de la taula no està bloquejada

    Suposem que teniu aquesta fórmula a la fila 2 (per exemple, a E2), que funciona bé:

    =VLOOKUP(D2, A2:B10, 2, FALSE)

    Quan es copia a la fila 3, la fórmula canvia a:

    =VLOOKUP(D3, A3:B11, 2, FALSE)

    Com que s'utilitza una referència relativa per a table_array , canvia en funció de la posició relativa de la fila on es copia la fórmula , en el nostre cas de A2:B10 a A3:B11. Per tant, si la coincidència es troba a la fila 2, no es trobarà!

    Solució : quan utilitzeu una fórmula BUSCAR V per a més d'una cel·la, sempre bloquegeu la matriu de la taula referència amb el signe $ com $A$2:$B$10.

    2. Els valors de text o els tipus de dades no coincideixen

    Un altreEl motiu habitual de l'error de BUSCAR V és la diferència entre el vostre valor de cerca i un valor similar a la columna de cerca. En alguns casos, la diferència és tan subtil que és difícil de detectar visualment.

    Solució : quan BUSCARV torna un error #N/A mentre podeu veure clarament el valor de cerca a la columna de cerca i, aparentment, tots dos s'escriuen exactament igual, el primer que heu de fer és determinar la causa principal del problema: la fórmula o les dades d'origen.

    Per veure si els dos valors són els igual o diferent, feu una comparació directa d'aquesta manera:

    =E1=A4

    On E1 és el vostre valor de cerca i A4 és un valor idèntic a la columna de cerca.

    Si el La fórmula retorna FALSE, això vol dir que els valors difereixen d'alguna manera, encara que s'assemblen absolutament.

    En cas de valors numèrics , el motiu més possible són els números formats com a text.

    En cas de valors de text , el més probable és que el problema estigui en excés d'espais. Per verificar-ho, esbrineu la longitud total de les dues cadenes mitjançant la funció LEN:

    =LEN(E1)

    =LEN(A4)

    Si els números resultants són diferents (com a la captura de pantalla següent). ), aleshores heu identificat el culpable: espais addicionals:

    Per resoldre el problema, suprimiu els espais addicionals o utilitzeu aquesta fórmula d'INDEX MATCH TRIM com a solució alternativa.

    Per què el meu VLOOKUP extreu dades incorrectes?

    Podrien haver-hi encara més motius pels qualsla vostra CERCA V retorna un valor incorrecte:

    1. Mode de cerca incorrecte . Si voleu una coincidència exacta, assegureu-vos d'establir l'argument range_lookup a FALSE. El valor predeterminat és TRUE, de manera que si ometeu aquest argument, VLOOKUP suposarà que esteu buscant una coincidència aproximada i cercarà el valor més proper que sigui més petit que el valor de cerca.
    2. La columna de cerca no és ordenat . Perquè la concordança aproximada VLOOKUP ( range_lookup establert en TRUE) funcioni correctament, la primera columna de la matriu de la taula s'ha d'ordenar en ordre ascendent, de més petit a més gran.
    3. Duplicats en la columna de cerca . Si la columna de cerca conté dos o més valors duplicats, BUSCARV tornarà la primera coincidència trobada, que pot ser que no sigui la que espereu.
    4. Columna de retorn incorrecta . Comproveu el número d'índex del tercer argument :)

    VLOOKUP no funciona entre dos fulls

    En primer lloc, cal tenir en compte que les raons habituals de #N/A, Els errors #VALUE i #REF comentats anteriorment poden causar els mateixos problemes quan busqueu des d'un altre full. Si no és el cas, comproveu els punts següents:

    1. Assegureu-vos que la referència externa a un altre full o a un llibre de treball diferent sigui correcta.
    2. Quan feu una Vlookup des d'un altre llibre de treball que està tancat en aquest moment, verifiqueu que la fórmula contingui el camí complet al llibre de treball tancat.
    3. Si

    Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.