Excel VLOOKUP non funciona - corrixindo os erros #N/A e #VALUE

  • Comparte Isto
Michael Brown

Táboa de contidos

A túa BUSCAR V está extraendo datos incorrectos ou non podes facelo funcionar? Este titorial mostra como pode corrixir rapidamente os erros comúns de BUSCAR VOLTATIVA e superar as súas principais limitacións.

Nuns artigos anteriores, exploramos diferentes aspectos da función BUSCAR V de Excel. Se nos seguiu de preto, a estas alturas debería ser un experto nesta área :)

Non obstante, non é sen razón que moitos especialistas de Excel consideren que BUSCAR V é unha das funcións de Excel máis complicadas. Ten unha tonelada de limitacións, que son a orixe de varios problemas e erros.

Neste artigo atoparás explicacións sinxelas das principais causas dos erros de BUSCAR VL, como #N/A, #NAME e #VALUE, así como as súas solucións e correccións. Comezaremos coas razóns máis obvias polas que BUSCAR VOLTA non funciona, polo que pode ser unha boa idea consultar os seguintes pasos de resolución de problemas en orde.

    Corrixindo o erro #N/A en BUSCARV

    Nas fórmulas BUSCARV, móstrase a mensaxe de erro #N/A (que significa "non dispoñible") cando Excel non pode atopar un valor de busca. Pode haber varias razóns polas que isto pode ocorrer.

    1. O valor de busca está mal escrito

    Sempre é unha boa idea comprobar primeiro o máis obvio : ) Os erros de impresión ocorren frecuentemente cando se traballa con conxuntos de datos moi grandes que consisten en miles de filas ou cando se escribe un valor de busca. directamente na fórmula.

    2.BUSCAR V non pode escoller unha matriz de táboa noutra folla de traballo (é dicir, cando resalta un intervalo na folla de busca, non aparece nada no argumento matriz_táboa da fórmula ou na caixa correspondente da fórmula asistente), entón o máis probable é que as dúas follas estean abertas en instancias separadas de Excel e non poidan comunicarse entre si. Para obter máis información, consulte Como determinar que ficheiros de Excel están en que instancia. Para solucionar isto, simplemente pecha todas as fiestras de Excel e, a continuación, volve abrir as follas/cadernos de traballo na mesma instancia (o comportamento predeterminado).

    Como buscar sen erros en Excel

    Se non quere intimidar aos seus usuarios con anotacións de erro estándar de Excel, pode mostrar o seu propio texto amigable no seu lugar ou devolver unha cela en branco se non se atopa nada. Isto pódese facer usando BUSCARV con IFERROR ou función IFNA.

    Captar todos os erros

    En Excel 2007 e posteriores, pode usar a función IFERROR para comprobar unha fórmula de BUSCAR V para detectar erros e devolver o seu texto propio (ou unha cadea baleira) se se detecta algún erro .

    Por exemplo:

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

    En Excel 2003 e anteriores, pode use a fórmula IF ISERROR para o mesmo propósito:

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

    Para obter máis detalles, consulte Usar IFERROR con VLOOKUP en Excel.

    Xestione os erros #N/D

    Para capturar só os erros #N/D ignorando todos os outros tipos de erros, use a función IFNA (en Excel 2013 esuperior) ou fórmula IF ISNA (en todas as versións).

    Por exemplo:

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

    Iso é todo por hoxe. Con sorte, este tutorial axudarache a desfacerte dos erros de BUSCAR VOLTA e facer que as túas fórmulas funcionen do xeito que queres.

    Como BUSCAR V en Excel: titorial en vídeo

    #N/A na coincidencia aproximada BUSCARV

    Se a súa fórmula busca a coincidencia máis próxima, (argumento range_lookup definido como VERDADEIRO ou omitido), o erro #N/D pode aparecer en dous casos :

    • O valor de busca é menor que o valor máis pequeno da matriz de busca.
    • A columna de busca non está ordenada en orde ascendente.

    3 . #N/A en coincidencia exacta VLOOKUP

    Se está a buscar coincidencia exacta (argumento range_lookup definido como FALSO), o erro #N/D ocorre cando un valor exactamente igual á busca non se atopa o valor. Para obter máis información, consulte BUSCAR V. coincidencia exacta e coincidencia aproximada.

    4. A columna de busca non é a columna máis á esquerda da matriz da táboa

    Unha das limitacións máis significativas de Excel VLOOKUP é que non pode mirar á súa esquerda. En consecuencia, unha columna de busca sempre debe ser a columna máis á esquerda da matriz da táboa. Na práctica, moitas veces esquecémonos disto e acabamos con erros #N/A.

    Solución : se non é posible reestruturar os seus datos para que a columna de busca sexa a columna máis á esquerda, pode usar as funcións INDEX e MATCH xuntos como alternativa á BUSCAR V. Aquí tes un exemplo de fórmula: INDEX MATCH fórmula para buscar valores á esquerda.

    5. Os números teñen formato de texto

    Outro erro común de #N/D nas fórmulas de BUSCAR V son os números formateados como texto, xa sexa na táboa principal ou na táboa de busca.

    Isto normalmente.ocorre cando importa datos desde algunha base de datos externa ou se escribiu un apóstrofo antes dun número para mostrar ceros ao principio.

    Aquí están os indicadores máis obvios de números formateados como texto:

    Solución: Seleccione todos os números problemáticos, prema na icona de erro e escolla Convertir a número no menú contextual. Para obter máis información, consulte Como converter texto en número en Excel.

    6. Espazos ao principio ou ao final

    Esta é a causa menos obvia do erro BUSCAR V #N/A porque un ollo humano dificilmente pode detectar eses espazos adicionais, especialmente cando se traballa con grandes conxuntos de datos onde a maioría das entradas están debaixo do desprazamento. .

    Solución 1: espazos adicionais no valor de busca

    Para garantir o correcto funcionamento da fórmula de BUSCAR V, envolve o valor de busca na función TRIM:

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

    Solución 2: espazos adicionais na columna de busca

    Se aparecen espazos adicionais na columna de busca, Non é un xeito sinxelo de evitar erros #N/A en BUSCAR V. Pola contra, podes usar unha combinación de funcións INDEX, MATCH e TRIM como fórmula matricial:

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

    Xa que esta é unha fórmula matricial, non esquezas premer Ctrl + Maiús + Intro para completalo correctamente (en Excel 365 e Excel 2021 onde as matrices son nativas, isto tamén funciona como unha fórmula normal).

    Consello. Unha alternativa rápida é executar a ferramenta Recortar espazos que eliminaráexceso de espazos tanto na táboa de busca como nas táboas principais en segundos, facendo que as súas fórmulas de BUSCAR VOLTAS non teñan erros.

    #VALOR! erro nas fórmulas de BUSCAR V

    En xeral, Microsoft Excel mostra o #VALOR! erro se un valor usado na fórmula é dun tipo de datos incorrecto. Con respecto a BUSCAR V, hai dúas fontes comúns do VALOR! erro.

    1. O valor de busca supera os 255 caracteres

    Ten en conta que BUSCARV non pode buscar valores que conteñan máis de 255 caracteres. Se os seus valores de busca superan este límite, un #VALOR! Amosarase o erro:

    Solución : use unha fórmula INDEX MATCH no seu lugar. No noso caso, esta fórmula funciona perfectamente:

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

    2. Non se proporciona o camiño completo ao libro de busca

    Se estás extraendo datos doutro libro, tes que incluír o camiño completo. Máis precisamente, ten que incluír o nome do libro de traballo incluída a extensión entre [corchetes] e especificar o nome da folla seguido do signo de admiración. Se o nome do libro de traballo ou o nome da folla, ou ambos, conteñen espazos ou caracteres non alfabéticos, o camiño debe estar entre comiñas simples.

    Aquí está a estrutura do argumento table_array para Búsqueda doutro libro de traballo:

    '[workbook name]sheet name'!range

    Unha fórmula real pode parecer semellante a esta:

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

    A fórmula anterior buscará o valor de A2 na columna B da Folla 1 no NovoPrices e devolve un valor coincidente na columna D.

    Se falta algún elemento da ruta, a túa fórmula de BUSCARV non funcionará e devolverá o erro #VALUE (a menos que o libro de busca estea actualmente aberto).

    Para obter máis información, consulte:

    • Como consultar outra folla ou libro de traballo en Excel
    • Como facer a Busca V desde un libro de traballo diferente

    3. O argumento col_index_num é menor que 1

    É difícil imaxinar unha situación na que alguén introduce intencionadamente un número inferior a 1 para especificar a columna da que devolver valores. Pero pode ocorrer se este argumento é devolto por algunha outra función aniñada na túa fórmula BUSCARV.

    Entón, se o argumento col_index_num é superior a 1, a túa fórmula devolverá o #VALOR! erro tamén.

    Se col_index_num é maior que o número de columnas da matriz da táboa, BUSCARV produce o #REF! erro.

    Resolvendo o erro #NAME da BUSCAR VV

    Este é o caso máis sinxelo: o #NAME? aparece un erro se escribiu accidentalmente o nome da función.

    A solución é obvia: comprobe a ortografía :)

    As principais causas dos erros en Excel VLOOKUP

    Ademais de tendo unha sintaxe bastante complicada, VLOOKUP ten sen dúbida máis limitacións que calquera outra función de Excel. Debido a estas limitacións, unha fórmula aparentemente correcta adoita ofrecer resultados diferentes dos que esperabas. Abaixo atoparássolucións para algúns escenarios típicos cando a BUSCAR V falla.

    A BUSCAR V non distingue entre maiúsculas e minúsculas

    A función BUSCAR V non distingue as letras maiúsculas e considera que os caracteres minúsculas e maiúsculas son idénticos.

    Solución : use BUSCARV, BUSCAR XL ou COINCIDENCIAR ÍNDICE en combinación coa función EXACTA que pode coincidir entre maiúsculas e minúsculas. Podes atopar as explicacións detalladas e exemplos de fórmulas neste titorial: 5 formas de facer unha Vlookup sensible a maiúsculas e minúsculas en Excel.

    Inseriuse ou eliminouse unha nova columna da táboa

    Lamentablemente, BUSCAR V as fórmulas deixan de funcionar cada vez que se elimina ou engade unha nova columna da táboa de busca. Isto ocorre porque a sintaxe da función BUSCARV require definir o número de índice da columna de retorno. Cando se engade/elimina unha columna nova á matriz da táboa, obviamente ese número de índice cambia.

    Solución : a fórmula INDEX MATCH volve ser rescatada : ) Con INDEX MATCH, especifique os intervalos de busca e de retorno por separado, polo que pode eliminar ou inserir tantas columnas como queira sen preocuparse de actualizar todas as fórmulas asociadas.

    As referencias ás celas cambian ao copiar a fórmula noutras celas

    O título dá unha explicación exhaustiva do problema, non?

    Solución : use sempre referencias absolutas (co signo $) para o argumento table_array , p. $A$2:$C$100 ou$A:$C. Pode cambiar rapidamente entre os diferentes tipos de referencia premendo a tecla F4.

    BUSCAR V devolve o primeiro valor atopado

    Como xa sabe, BUSCAR V de Excel devolve o primeiro valor que atopa. Non obstante, podes obrigalo a traer o 2o, 3o, 4o ou calquera outra ocorrencia que queiras. Tamén hai unha forma de obter a última coincidencia ou todas as coincidencias atopadas.

    Solucións : Aquí están dispoñibles exemplos de fórmulas:

    • BUSCAR V e devolver a enésima ocorrencia
    • VALORES MÚLTIPLES DE BUSCAR V
    • Fórmula de BUSCAR XL para obter a última coincidencia

    Por que funciona a BUSCAR V para algunhas celas pero non para outras?

    Cando A fórmula BUSCAR V devolve os datos correctos nalgunhas celas e #N/A erros noutras, pode haber algúns motivos posibles polos que isto ocorre.

    1. A matriz da táboa non está bloqueada

    Supoñamos que tes esta fórmula na fila 2 (por exemplo, en E2), que funciona ben:

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

    Cando se copia na fila 3, a fórmula cambia a:

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

    Debido a que se usa unha referencia relativa para table_matriz , cambia en función da posición relativa da fila onde se copia a fórmula , no noso caso de A2:B10 a A3:B11. Polo tanto, se a coincidencia está na fila 2, non se atopará!

    Solución : cando se utiliza unha fórmula BUSCAR V para máis dunha cela, sempre bloquee a matriz da táboa referencia co signo $ como $A$2:$B$10.

    2. Os valores de texto ou os tipos de datos non coinciden

    OutroO motivo común do fallo da BUSCAR V é a diferenza entre o seu valor de busca e un valor similar na columna de busca. Nalgúns casos, a diferenza é tan sutil que é difícil detectar visualmente.

    Solución : cando BUSCARV devolve un erro #N/D mentres pode ver claramente o valor de busca no columna de busca e, ao parecer, ambos se escriben exactamente igual, o primeiro que debes facer é determinar a causa raíz do problema: a fórmula ou os datos de orixe.

    Para ver se os dous valores son os igual ou diferente, fai unha comparación directa deste xeito:

    =E1=A4

    Onde E1 é o teu valor de busca e A4 é un valor idéntico na columna de busca.

    Se o a fórmula devolve FALSO, o que significa que os valores difieren dalgún xeito, aínda que se parecen absolutamente.

    No caso de valores numéricos , a razón máis posible son números formateados como texto.

    No caso de valores de texto , o máis probable é que o problema teña espazos en exceso. Para verificalo, descubra a lonxitude total das dúas cadeas usando a función LEN:

    =LEN(E1)

    =LEN(A4)

    Se os números resultantes son diferentes (como na captura de pantalla a continuación ), entón identificaches o culpable: espazos adicionais:

    Para resolver o problema, elimina os espazos adicionais ou utiliza esta fórmula de CORTE DE COINCIDENCIA DE ÍNDICE como solución alternativa.

    Por que o meu VLOOKUP extrae datos incorrectos?

    Pode haber aínda máis razóns polas quea BUSCAR V devolve un valor incorrecto:

    1. Modo de busca incorrecto . Se queres unha coincidencia exacta, asegúrate de establecer o argumento range_lookup en FALSO. O valor predeterminado é TRUE, polo que se omite este argumento, BUSCARV suporá que está a buscar unha coincidencia aproximada e buscará o valor máis próximo que sexa menor que o valor de busca.
    2. A columna de busca non é ordenado . Para que BUSCAR V de coincidencia aproximada ( rango_lookup definido como TRUE) funcione correctamente, a primeira columna da matriz da táboa debe ordenarse en orde ascendente, de menor a maior.
    3. Duplicados en a columna de busca . Se a columna de busca contén dous ou máis valores duplicados, BUSCAR V devolverá a primeira coincidencia atopada, que quizais non sexa a que esperabas.
    4. Columna de retorno incorrecta . Comprobe o número de índice no terceiro argumento :)

    VLOOKUP non funciona entre dúas follas

    En primeiro lugar, débese ter en conta que as razóns comúns de #N/A, Os erros #VALUE e #REF comentados anteriormente poden causar os mesmos problemas ao buscar desde outra folla. Se non é o caso, comproba os seguintes puntos:

    1. Asegúrate de que a referencia externa a outra folla ou a un libro de traballo diferente é correcta.
    2. Ao facer unha Vlookup desde outro libro de traballo que está pechado neste momento, verifique que a súa fórmula conteña a ruta completa ao libro de traballo pechado.
    3. Se

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.