Tabla de contenido
¿Su VLOOKUP extrae datos erróneos o no consigue que funcione en absoluto? Este tutorial muestra cómo puede solucionar rápidamente errores comunes de VLOOKUP y superar sus principales limitaciones.
En algunos artículos anteriores, hemos explorado diferentes aspectos de la función VLOOKUP de Excel. Si nos has estado siguiendo de cerca, a estas alturas ya deberías ser un experto en esta área :)
Sin embargo, no es gratuito que muchos especialistas en Excel consideren que VLOOKUP es una de las funciones de Excel más intrincadas. Tiene un montón de limitaciones, que son la fuente de diversos problemas y errores.
En este artículo, encontrará explicaciones sencillas de las principales causas de los errores de VLOOKUP como #N/A, #NAME y #VALUE, así como sus soluciones y arreglos. Comenzaremos con las razones más obvias por las que VLOOKUP no funciona, por lo que puede ser una buena idea revisar los siguientes pasos de solución de problemas en orden.
Corrección del error #N/A en VLOOKUP
En las fórmulas VLOOKUP, el mensaje de error #N/A (que significa "no disponible") se muestra cuando Excel no puede encontrar un valor de búsqueda. Puede haber varias razones por las que esto puede suceder.
1. El valor de búsqueda está mal escrito
Siempre es una buena idea comprobar primero lo más obvio : ) Los errores tipográficos ocurren con frecuencia cuando se trabaja con conjuntos de datos realmente grandes compuestos por miles de filas, o cuando se escribe un valor de búsqueda directamente en la fórmula.
2. #N/A en VLOOKUP de coincidencia aproximada
Si su fórmula busca la coincidencia más próxima, ( búsqueda_de_rango a TRUE u omitido), el error #N/A puede aparecer en dos casos:
- El valor de búsqueda es menor que el valor más pequeño de la matriz de búsqueda.
- La columna de búsqueda no está ordenada de forma ascendente.
3. #N/A en VLOOKUP de coincidencia exacta
Si busca una coincidencia exacta ( búsqueda_de_rango a FALSE), el error #N/A se produce cuando no se encuentra un valor exactamente igual al valor de búsqueda. Para obtener más información, consulte VLOOKUP coincidencia exacta frente a coincidencia aproximada.
4. La columna de búsqueda no es la columna situada más a la izquierda de la matriz de la tabla.
Una de las limitaciones más significativas de Excel VLOOKUP es que no puede mirar a su izquierda. En consecuencia, una columna de búsqueda siempre debe ser la columna de la izquierda En la práctica, a menudo nos olvidamos de esto y acabamos con errores #N/A.
Solución Si no es posible reestructurar los datos de forma que la columna de búsqueda sea la columna situada más a la izquierda, puede utilizar las funciones INDEX y MATCH conjuntamente como alternativa a VLOOKUP. A continuación se muestra un ejemplo de fórmula: INDEX MATCH fórmula para buscar valores a la izquierda.
5. Los números se formatean como texto
Otra fuente común de errores #N/A en las fórmulas VLOOKUP son los números formateados como texto, ya sea en la tabla principal o en la de consulta.
Esto suele ocurrir cuando se importan datos de alguna base de datos externa o si se ha escrito un apóstrofo antes de un número para mostrar ceros a la izquierda.
Éstos son los indicadores más evidentes de los números formateados como texto:
Solución: Seleccione todos los números problemáticos, haga clic en el icono de error y elija Convertir a número Para obtener más información, consulte Cómo convertir texto en número en Excel.
6. Espacios iniciales o finales
Esta es la causa menos obvia del error VLOOKUP #N/A porque un ojo humano difícilmente puede detectar esos espacios extra, especialmente cuando se trabaja con grandes conjuntos de datos donde la mayoría de las entradas están por debajo del desplazamiento.
Solución 1: Espacios adicionales en el valor de búsqueda
Para asegurar el correcto funcionamiento de su fórmula VLOOKUP, envuelva el valor de búsqueda en la función TRIM:
=VLOOKUP(TRIM(E1), A2:C10, 2, FALSE)
Solución 2: Espacios adicionales en la columna de búsqueda
Si se producen espacios adicionales en la columna de búsqueda, no existe una forma sencilla de evitar errores #N/A en VLOOKUP. En su lugar, puede utilizar una combinación de funciones INDEX, MATCH y TRIM como fórmula de matriz:
=INDEX(B2:B10, MATCH(TRUE, TRIM(A$2:A$10)=TRIM(E1), 0))
Como se trata de una fórmula de matriz, no olvides pulsar Ctrl + Mayús + Intro para completarla correctamente (en Excel 365 y Excel 2021, donde las matrices son nativas, esto también funciona como una fórmula normal).
Una alternativa rápida es ejecutar la herramienta Recortar espacios, que eliminará el exceso de espacios tanto en la tabla de búsqueda como en la principal en cuestión de segundos, haciendo que sus fórmulas VLOOKUP no contengan errores.
Error #VALUE! en fórmulas VLOOKUP
En general, Microsoft Excel muestra el error #¡VALOR! si un valor utilizado en la fórmula es de un tipo de datos incorrecto. Con respecto a VLOOKUP, hay dos fuentes comunes del error #¡VALOR!
1. El valor de búsqueda supera los 255 caracteres
Tenga en cuenta que VLOOKUP no puede buscar valores que contengan más de 255 caracteres. Si sus valores de búsqueda superan este límite, se mostrará un error #¡VALOR!
Solución En nuestro caso, esta fórmula funciona perfectamente:
=INDEX(B2:B7, MATCH(TRUE, INDEX(A2:A7= E1, 0), 0))
2. No se proporciona la ruta completa al libro de consulta
Si extrae datos de otro libro de trabajo, debe incluir la ruta completa al mismo. Más concretamente, debe encerrar el nombre del libro de trabajo, incluida la extensión, entre [corchetes] y especificar el nombre de la hoja seguido del signo de exclamación. Si el nombre del libro de trabajo o el nombre de la hoja, o ambos, contienen espacios o caracteres no alfabéticos, la ruta debe ir entre comillas simples.
Esta es la estructura del tabla_array a Vlookup desde otro libro:
'[nombre del libro]nombre de la hoja'!rango
Una fórmula real podría ser parecida a ésta:
=VLOOKUP($A$2,'[Nuevos Precios.xls]Hoja1'!$B:$D, 3, FALSE)
La fórmula anterior buscará el valor de A2 en la columna B de la Hoja1 en la tabla Nuevos precios y devuelve un valor coincidente de la columna D.
Si falta algún elemento de la ruta, su fórmula VLOOKUP no funcionará y devolverá el error #VALOR (a menos que el libro de trabajo de búsqueda esté abierto en ese momento).
Para más información, consulte:
- Cómo hacer referencia a otra hoja o libro en Excel
- Cómo hacer Vlookup desde un libro diferente
3. El argumento col_index_num es menor que 1
Es difícil imaginar una situación en la que alguien introduzca intencionadamente un número menor que 1 para especificar la columna de la que devolver valores. Pero puede ocurrir si este argumento es devuelto por alguna otra función anidada en su fórmula VLOOKUP.
Por lo tanto, si el col_index_num es mayor que 1, tu fórmula también devolverá el error #¡VALOR!
Si col_index_num ¡es mayor que el número de columnas de la tabla, VLOOKUP produce el error #REF!
Solución del error VLOOKUP #NAME
Este es el caso más sencillo - el error #NAME? aparece si accidentalmente has escrito mal el nombre de la función.
La solución es obvia: compruebe la ortografía :)
Las principales causas de errores en Excel VLOOKUP
Aparte de tener una sintaxis bastante complicada, VLOOKUP tiene posiblemente más limitaciones que cualquier otra función de Excel. Debido a estas limitaciones, una fórmula aparentemente correcta puede dar a menudo resultados diferentes de los esperados. A continuación encontrará soluciones para algunos escenarios típicos en los que VLOOKUP falla.
VLOOKUP no distingue entre mayúsculas y minúsculas
La función VLOOKUP no distingue las mayúsculas de las minúsculas y los caracteres en mayúsculas son idénticos.
Solución Utilice VLOOKUP, XLOOKUP o INDEX MATCH en combinación con la función EXACT que puede distinguir entre mayúsculas y minúsculas. Puede encontrar explicaciones detalladas y ejemplos de fórmulas en este tutorial: 5 maneras de hacer un Vlookup en Excel que distinga entre mayúsculas y minúsculas.
Se ha insertado o eliminado una nueva columna de la tabla
Lamentablemente, las fórmulas VLOOKUP dejan de funcionar siempre que se elimina o se añade una nueva columna a la tabla de consulta. Esto sucede porque la sintaxis de la función VLOOKUP requiere definir el número de índice de la columna de retorno. Cuando se añade/elimina una nueva columna de la matriz de la tabla, obviamente ese número de índice cambia.
Solución La fórmula INDEX MATCH viene de nuevo al rescate : ) Con INDEX MATCH, usted especifica los rangos de búsqueda y de retorno por separado, por lo que es libre de eliminar o insertar tantas columnas como desee sin preocuparse de actualizar cada fórmula asociada.
Las referencias de celda cambian al copiar la fórmula a otras celdas
El encabezamiento da una explicación exhaustiva del problema, ¿verdad?
Solución : Utilice siempre referencias absolutas (con el signo $) para las etiquetas tabla_array por ejemplo $A$2:$C$100 o $A:$C. Puede cambiar rápidamente entre los distintos tipos de referencia pulsando la tecla F4.
VLOOKUP devuelve el primer valor encontrado
Como ya sabe, Excel VLOOKUP devuelve el primer valor que encuentra. Sin embargo, puede forzarlo a que traiga la 2ª, 3ª, 4ª o cualquier otra ocurrencia que desee. También hay una forma de obtener la última coincidencia o todas las coincidencias encontradas.
Soluciones Ejemplos de fórmulas disponibles aquí:
- VLOOKUP y devuelve la enésima ocurrencia
- VLOOKUP valores múltiples
- Fórmula XLOOKUP para obtener la última coincidencia
¿Por qué mi VLOOKUP funciona para algunas celdas pero no para otras?
Cuando su fórmula VLOOKUP devuelve los datos correctos en algunas celdas y errores #N/A en otras, puede haber varias razones posibles por las que esto ocurre.
1. La matriz de la tabla no está bloqueada
Supongamos que tiene esta fórmula en la fila 2 (digamos en E2), que funciona muy bien:
=VLOOKUP(D2, A2:B10, 2, FALSE)
Cuando se copia en la fila 3, la fórmula cambia a:
=VLOOKUP(D3, A3:B11, 2, FALSE)
Dado que se utiliza una referencia relativa para tabla_array cambia en función de la posición relativa de la fila en la que se copia la fórmula, en nuestro caso de A2:B10 a A3:B11. Por lo tanto, si la coincidencia está en la fila 2, ¡no se encontrará!
Solución Cuando utilice una fórmula VLOOKUP para más de una celda, siempre bloquear el array de tablas referencia con el signo $ como $A$2:$B$10.
2. Los valores de texto o los tipos de datos no coinciden
Otra razón común para el fracaso VLOOKUP es la diferencia entre el valor de búsqueda y un valor similar en la columna de búsqueda. En algunos casos, la diferencia es tan sutil que es difícil de detectar visualmente.
Solución Cuando VLOOKUP devuelve un error #N/A mientras se puede ver claramente el valor de búsqueda en la columna de búsqueda, y aparentemente ambos se escriben exactamente igual, lo primero que hay que hacer es determinar la causa raíz del problema - la fórmula o los datos de origen.
Para ver si los dos valores son iguales o diferentes, haz una comparación directa de esta manera:
=E1=A4
Donde E1 es su valor de búsqueda y A4 es un valor idéntico en la columna de búsqueda.
Si la fórmula devuelve FALSE, significa que los valores difieren de algún modo, aunque sean absolutamente iguales.
En caso de valores numéricos la razón más posible son los números formateados como texto.
En caso de valores de texto lo más probable es que el problema esté en el exceso de espacios. Para comprobarlo, averigua la longitud total de las dos cadenas utilizando la función LEN:
=LEN(E1)
=LEN(A4)
Si los números resultantes son diferentes (como en la captura de pantalla de abajo), habrás encontrado al culpable: los espacios sobrantes:
Para resolver el problema, elimine los espacios adicionales o utilice esta fórmula INDEX MATCH TRIM como solución.
¿Por qué mi VLOOKUP extrae datos erróneos?
Podría haber incluso más razones por las que su VLOOKUP devuelva un valor incorrecto:
- Modo de búsqueda incorrecto Si desea una coincidencia exacta, asegúrese de definir la opción búsqueda_de_rango El valor por defecto es TRUE, por lo que si omite este argumento, VLOOKUP asumirá que está buscando una coincidencia aproximada y buscará el valor más cercano que sea menor que el valor de búsqueda.
- La columna de búsqueda no está ordenada Para una coincidencia aproximada VLOOKUP ( búsqueda_de_rango establecido a TRUE) para que funcione correctamente, la primera columna de la matriz de la tabla debe estar ordenada en orden ascendente, de menor a mayor.
- Duplicados en la columna de búsqueda Si la columna de búsqueda contiene dos o más valores duplicados, VLOOKUP devolverá la primera coincidencia encontrada, que puede no ser la esperada.
- Columna de retorno incorrecta Compruebe el número de índice en el tercer argumento :)
VLOOKUP no funciona entre dos hojas
En primer lugar, debe tenerse en cuenta que las razones comunes de los errores #N/A, #VALUE y #REF comentados anteriormente pueden causar los mismos problemas al consultar desde otra hoja. Si no es el caso, compruebe los siguientes puntos:
- Asegúrese de que la referencia externa a otra hoja o a un libro de trabajo diferente es correcta.
- Al hacer un Vlookup desde otro libro de trabajo que es cerrado por el momento, compruebe que su fórmula contiene la ruta completa al libro de trabajo cerrado.
- Si VLOOKUP no se puede seleccionar una matriz de tabla en otra hoja de cálculo (es decir, cuando se resalta un rango en la hoja de consulta, no aparece nada en la ventana tabla_array en la fórmula o en la casilla correspondiente del asistente de fórmulas), lo más probable es que las dos hojas estén abiertas en instancias separadas de Excel y no puedan comunicarse entre sí. Para obtener más información, consulte Cómo determinar qué archivos de Excel se encuentran en cada instancia. Para solucionarlo, simplemente cierre todas las ventanas de Excel y, a continuación, vuelva a abrir las hojas/libros de trabajo en la misma instancia (el comportamiento predeterminado).
Cómo hacer Vlookup sin errores en Excel
Si no desea intimidar a sus usuarios con las notaciones de error estándar de Excel, puede mostrar en su lugar su propio texto fácil de usar o devolver una celda en blanco si no se encuentra nada. Esto se puede hacer utilizando VLOOKUP con la función IFERROR o IFNA.
Capturar todos los errores
En Excel 2007 y versiones posteriores, puede utilizar la función IFERROR para comprobar si hay errores en una fórmula VLOOKUP y devolver su propio texto (o una cadena vacía) si cualquier error se detecta.
Por ejemplo:
=IFERROR(VLOOKUP(E1, A2:B10, 2, FALSE), "Vaya, algo ha salido mal")
En Excel 2003 y versiones anteriores, puede utilizar la fórmula IF ISERROR con el mismo fin:
=IF(ISERROR(VLOOKUP(E1, A2:B10, 2, FALSE)), "Vaya, algo ha salido mal", VLOOKUP(E1, A2:B10, 2, FALSE))
Para obtener más detalles, consulte Uso de IFERROR con VLOOKUP en Excel.
Gestión de errores #N/A
Para atrapar sólo errores #N/A ignorando todos los demás tipos de error, utilice la función IFNA (en Excel 2013 y superior) o la fórmula IF ISNA (en todas las versiones).
Por ejemplo:
=IFNA(VLOOKUP(E1, A2:B10, 2, FALSE), "¡Uy, no se ha encontrado ninguna coincidencia. Inténtelo de nuevo!")
=IF(ISNA(VLOOKUP(E1, A2:B10, 2, FALSE)), "¡Uy, no se ha encontrado ninguna coincidencia. Inténtelo de nuevo!", VLOOKUP(E1, A2:B10, 2, FALSE))
Esto es todo por hoy. Esperemos que este tutorial te ayude a deshacerte de los errores de VLOOKUP y a que tus fórmulas funcionen como deseas.