Función VLOOKUP de Excel
La función VLOOKUP de Excel es una herramienta potente que te permite buscar un valor específico comparándolo en la primera columna de una tabla o rango de manera vertical, y luego devolver un valor correspondiente de otra columna en la misma fila. Aunque VLOOKUP es sumamente útil, a veces puede resultar difícil de entender para quienes se inician. Este tutorial tiene como objetivo ayudarte a dominar VLOOKUP, proporcionando una explicación detallada de sus argumentos, ejemplos prácticos y soluciones a los errores más comunes que puedes encontrar al utilizar la función VLOOKUP.
Vídeos relacionados
Explicación paso a paso de los argumentos
Como se muestra en la captura de pantalla anterior, la función VLOOKUP se utiliza para encontrar un correo electrónico a partir de un número de ID dado. A continuación, te explico en detalle cómo usar VLOOKUP en este ejemplo, desglosando cada argumento paso a paso.
Paso1: Inicia la función VLOOKUP
Selecciona una celda (en este caso H6) donde mostrar el resultado y comienza la función VLOOKUP escribiendo el siguiente contenido en la Barra de fórmulas.
=VLOOKUP(
Paso2: Especifica el valor de búsqueda
Primero, indica el valor de búsqueda (lo que deseas encontrar) en la función VLOOKUP. Aquí hago referencia a la celda G6, que contiene un número de ID concreto:1005.
=VLOOKUP(G6
Paso3: Especifica el rango de la tabla
A continuación, selecciona un rango de celdas que contenga tanto el valor que buscas como el valor que deseas devolver. En este caso, selecciono el rango B6:E12. La fórmula ahora se ve así:
=VLOOKUP(G6,B6:E12
=VLOOKUP(G6,$B$6:$E$12
Paso4: Especifica la columna de la que quieres devolver un valor
Luego, indica la columna de la que deseas devolver un valor.
En este ejemplo, como necesito devolver el correo electrónico según el número de ID, aquí introduzco el número4 para indicar a VLOOKUP que devuelva un valor de la cuarta columna del área de datos.
=VLOOKUP(G6,B6:E12,4
Paso5: Busca una coincidencia aproximada o exacta
Por último, decide si buscas una coincidencia aproximada o una coincidencia exacta.
- Para encontrar una coincidencia exacta, debes usar FALSO como último argumento.
- Para buscar una coincidencia aproximada, utiliza VERDADERO como último argumento o simplemente déjalo en blanco.
En este ejemplo, utilizo FALSO para coincidencia exacta. La fórmula ahora queda así:
=VLOOKUP(G6,B6:E12,4,FALSE
Pulsa la tecla Enter para obtener el resultado
Explicando cada argumento uno por uno en el ejemplo anterior, la sintaxis y los argumentos de la función VLOOKUP ahora son mucho más fáciles de comprender.
Sintaxis y argumentos
=VLOOKUP (lookup_value, table_array, col_index, [range_lookup])
- Lookup_value (obligatorio): El valor (un valor real o una referencia de celda) que deseas buscar. Recuerda que este valor debe estar en la primera columna del table_array.
- Table_array (obligatorio): Un rango de celdas que contiene tanto la columna del valor de búsqueda como la columna del valor a devolver.
- Col_index (obligatorio): Un número entero que representa el número de columna que contiene el valor a devolver. Comienza con el número1 para la columna más a la izquierda del table_array.
- Range_lookup (opcional): Un valor lógico que determina si deseas que VLOOKUP busque una coincidencia aproximada o exacta.
- Coincidencia aproximada - Establece este argumento en VERDADERO, 1 o déjalo en blanco.
Importante: Para buscar una coincidencia aproximada, los valores en la primera columna del table_array deben estar ordenados en orden ascendente, de lo contrario VLOOKUP podría devolver un resultado incorrecto. - Coincidencia exacta - Establece este argumento en FALSO o0.
- Coincidencia aproximada - Establece este argumento en VERDADERO, 1 o déjalo en blanco.
Ejemplos
Esta sección muestra algunos ejemplos para ayudarte a comprender mejor la función VLOOKUP.
Ejemplo1: Coincidencia exacta vs. coincidencia aproximada en VLOOKUP
Si tienes dudas sobre la coincidencia exacta y la coincidencia aproximada al usar VLOOKUP, esta sección puede ayudarte a aclararlas.
Coincidencia exacta en VLOOKUP
En este ejemplo, voy a buscar los nombres correspondientes según las puntuaciones listadas en el rango E6:E8, así que introduzco la siguiente fórmula en la celda F6 y arrastro el controlador de Autorrelleno hasta F8. En esta fórmula, el último argumento se especifica como FALSO para realizar una búsqueda de coincidencia exacta.
=VLOOKUP(E6,$B$6:$C$12,2,FALSE)
Sin embargo, como la puntuación98 no existe en la primera columna del área de datos, VLOOKUP devuelve el error #N/A.
Coincidencia aproximada en VLOOKUP
Siguiendo con el ejemplo anterior, si cambias el último argumento a VERDADERO, VLOOKUP realizará una búsqueda de coincidencia aproximada. Si no encuentra coincidencia, buscará el siguiente valor más grande que sea menor que el valor de búsqueda y devolverá el resultado correspondiente.
=VLOOKUP(E6,$B$6:$C$12,2,TRUE)
Como la puntuación98 no existe, VLOOKUP encuentra el siguiente valor más grande menor que98, que es95, y devuelve el nombre correspondiente a la puntuación95 como resultado más cercano.
- En este caso de coincidencia aproximada, los valores de la primera columna del table_array deben estar ordenados en orden ascendente. De lo contrario, VLOOKUP podría no devolver el valor correcto.
- Aquí he bloqueado el table_array ($B$6:$C$12) en la función VLOOKUP para poder referenciar rápidamente un conjunto de datos consistente frente a varios valores de búsqueda.
Ejemplo2: Usar VLOOKUP con múltiples criterios
Esta sección muestra cómo usar VLOOKUP con múltiples condiciones en Excel. Como se muestra en la captura de pantalla a continuación, si intentas localizar un salario en función de un nombre proporcionado (en la celda H5) y un departamento (en la celda H6), sigue los pasos que se indican a continuación.
Paso1: Agrega una columna auxiliar para concatenar los valores de las columnas de búsqueda
En este caso, necesitamos crear una columna auxiliar para concatenar los valores de la columna Nombre y la columna Departamento.
- Agrega una columna auxiliar a la izquierda de tu área de datos y asígnale un encabezado. Consulta la captura de pantalla:
- En esta columna auxiliar, selecciona la primera celda bajo el encabezado, introduce la siguiente fórmula en la Barra de fórmulas, y pulsa Enter.
=C6&" "&D6
Notas: En esta fórmula, utilizamos el símbolo & para unir el texto de dos columnas y obtener una sola cadena de texto.- C6 es el primer nombre de la columna Nombre a unir, D6 es el primer departamento de la columna Departamento a unir.
- Los valores de estas dos celdas se concatenan con un espacio entre ellos.
- Selecciona esta celda con el resultado y luego arrastra el Controlador de Autorrelleno hacia abajo para aplicar esta fórmula a las demás celdas de la misma columna.
Paso2: Aplica la función VLOOKUP con los criterios dados
Selecciona una celda donde quieras mostrar el resultado (aquí selecciono I7), introduce la siguiente fórmula en la Barra de fórmulas y luego pulsa Enter.
=VLOOKUP(I5& " "&I6,B6:F12,5,FALSE)
Resultado
- La columna auxiliar debe ser la primera columna del área de datos.
- Ahora la columna de salario es la quinta columna del área de datos, por lo que usamos el número 5 como índice de columna en la fórmula.
- También debemos unir los criterios en I5 e I6 (I5& " "&I6) de la misma forma que la columna auxiliar y usar el valor concatenado como argumento lookup_value en la fórmula.
- También puedes introducir directamente las dos condiciones en el argumento lookup_value y separarlas con un espacio (si las condiciones son texto, no olvides ponerlas entre comillas dobles).
=VLOOKUP("Albee IT",B6:F12,5,FALSE)
- Una alternativa mejor: búsqueda con múltiples criterios en segundosLa función Búsqueda de múltiples condiciones de Kutools para Excel te permite buscar fácilmente con varios criterios en cuestión de segundos. ¡Prueba gratis todas las funciones durante30 días!
Errores comunes de VLOOKUP y soluciones
Esta sección enumera los errores más comunes que puedes encontrar al usar VLOOKUP y proporciona soluciones para corregirlos.
Se devuelve el error #N/A
El error más común con VLOOKUP es el error #N/A, que significa que Excel no pudo encontrar el valor que buscabas. Aquí tienes algunas razones por las que VLOOKUP puede devolver el error #N/A.
Motivo1: El valor de búsqueda no está en la primera columna del table_array
Una de las limitaciones de VLOOKUP en Excel es que solo permite buscar de izquierda a derecha. Por lo tanto, los valores de búsqueda deben estar en la primera columna del table_array.
Como se muestra en la captura de pantalla a continuación, quiero devolver un nombre en función del cargo proporcionado. Aquí el valor de búsqueda (sales manager) está en la segunda columna del table_array y el valor a devolver está a la izquierda de la columna de búsqueda, por lo que VLOOKUP devuelve el error #N/A.
Soluciones
Puedes aplicar cualquiera de las siguientes soluciones para corregir este error.
- Reorganiza las columnasPuedes reorganizar las columnas para colocar la columna de búsqueda como la primera columna del table_array.
- Utiliza las funciones INDEX y MATCH juntasAquí usamos las funciones INDEX y MATCH juntas como alternativa a VLOOKUP para resolver este problema.
=INDEX(B6:B12,MATCH(F6,C6:C12,0))
- Utiliza la función XLOOKUP (disponible en Excel365, Excel2021 y versiones posteriores)
=XLOOKUP(F6,C6:C12,B6:B12)
Motivo2: El valor de búsqueda no se encuentra en la columna de búsqueda (coincidencia exacta)
Una de las razones más comunes por las que VLOOKUP devuelve el error #N/A es porque no se encuentra el valor que buscas.
Como se muestra en el siguiente ejemplo, vamos a buscar el nombre en función de la puntuación98 dada en E6. Sin embargo, esta puntuación no existe en la primera columna del área de datos, por lo que VLOOKUP devuelve el error #N/A.
Soluciones
Para corregir este error, puedes probar una de las siguientes soluciones.
- Si quieres que VLOOKUP busque el siguiente valor más grande que sea menor que el valor de búsqueda, cambia el último argumento FALSO (coincidencia exacta) por VERDADERO (coincidencia aproximada). Para más información, consulta el Ejemplo1: Coincidencia exacta vs. coincidencia aproximada usando VLOOKUP.
- Para evitar cambiar el último argumento y recibir un aviso si no se encuentra el valor de búsqueda, puedes incluir la función VLOOKUP dentro de la función IFERROR:
=IFERROR(VLOOKUP(E8,$B$6:$C$12,2,FALSE),"Not found")
Motivo3: El valor de búsqueda es menor que el valor más pequeño en la columna de búsqueda (coincidencia aproximada)
Como se muestra en la captura de pantalla a continuación, estás realizando una búsqueda de coincidencia aproximada. El valor que buscas (el número de ID1001 en este caso) es menor que el valor más pequeño1002 en la columna de búsqueda, por lo tanto, VLOOKUP devuelve el error #N/A.
Soluciones
Aquí tienes dos soluciones para ti.
- Asegúrate de que el valor de búsqueda sea mayor o igual que el valor más pequeño en la columna de búsqueda.
- Si quieres que Excel te avise de que no se encontró el valor de búsqueda, simplemente anida la función VLOOKUP dentro de la función IFERROR de la siguiente manera:
=IFERROR(VLOOKUP(G6,B6:E12,4,TRUE),"Not found")
Motivo4: Los números están formateados como texto
Como puedes ver en la captura de pantalla a continuación, el error #N/A en este ejemplo se debe a una incompatibilidad de tipo de datos entre la celda de búsqueda (G6) y la columna de búsqueda (B6:B12) de la tabla original. Aquí el valor en G6 es un número, y los valores en el rango B6:B12 son números formateados como texto.
Soluciones
Para solucionar este problema, necesitas convertir el valor de búsqueda nuevamente a número. Aquí tienes dos métodos para hacerlo.
- Aplica la función Convertir a númeroHaz clic en la celda que deseas convertir de texto a número, selecciona este botón
junto a la celda y luego selecciona Convertir a número.
- Utiliza una herramienta práctica para convertir en lote entre texto y númeroLa función Convertir entre texto y números de Kutools para Excel te ayuda a convertir fácilmente un rango de celdas de texto a número y viceversa. ¡Prueba gratis todas las funciones durante30 días!
Motivo5: El table_array no es constante al arrastrar la fórmula VLOOKUP a otras celdas
Como se muestra en la captura de pantalla a continuación, hay dos valores de búsqueda en E6 y E7. Después de obtener el primer resultado en F6, al arrastrar la fórmula VLOOKUP desde la celda F6 a F7, se devuelve un error #N/A. Esto ocurre porque las referencias de celda (B6:C12) son relativas por defecto y se ajustan al desplazarse por las filas. El rango de la tabla se ha desplazado a B7:C13, que ya no contiene la puntuación de búsqueda73.
Solución
Debes bloquear el table_array para mantenerlo constante añadiendo el signo $ antes de las filas y columnas en las referencias de celda. Para saber más sobre las referencias absolutas en Excel, consulta este tutorial: Referencia absoluta en Excel (cómo crearla y usarla).
Se devuelve el error #VALUE
Las siguientes condiciones pueden hacer que VLOOKUP devuelva el error #VALUE.
Motivo1: El valor de búsqueda supera los255 caracteres
Como se muestra en la captura de pantalla a continuación, el valor de búsqueda en la celda H4 supera los255 caracteres, por lo que VLOOKUP devuelve el error #VALUE.
Soluciones
Para evitar esta limitación, puedes utilizar otra función de búsqueda que permita manejar cadenas más largas. Prueba una de las siguientes fórmulas.
- INDEX y MATCH:
=INDEX(E5:E11, MATCH(TRUE, INDEX(B5:B11=H4, 0), 0))
- Función XLOOKUP (disponible en Excel365, Excel2021 y versiones posteriores):
=XLOOKUP(H4,B5:B11,E5:E11)
Motivo2: El argumento col_index es menor que1
El índice de columna especifica el número de columna en el rango de la tabla que contiene el valor que deseas devolver. Este argumento debe ser un número positivo que corresponda a una columna válida en el rango de la tabla.
Si introduces un índice de columna menor que1 (es decir, cero o negativo), VLOOKUP no podrá localizar la columna en el rango de la tabla.
Solución
Para solucionar este problema, asegúrate de que el argumento del índice de columna en tu fórmula VLOOKUP sea un número positivo que corresponda a una columna válida en el rango de la tabla.
Se devuelve el error #REF
Esta sección muestra un motivo por el que VLOOKUP devuelve el error #REF y proporciona soluciones para este problema.
Motivo: El argumento col_index es mayor que el número de columnas
Como puedes ver en la captura de pantalla a continuación, el rango de la tabla solo tiene4 columnas. Sin embargo, el índice de columna que especificaste en la fórmula VLOOKUP es5, que es mayor que el número de columnas en el rango de la tabla. Como resultado, VLOOKUP no podrá localizar la columna y finalmente devolverá el error #REF.
Soluciones
- Especifica un número de columna correcto Asegúrate de que el argumento del índice de columna en tu fórmula VLOOKUP sea un número que corresponda a una columna válida en el rango de la tabla.
- Obtén automáticamente el número de columna según el encabezado de columna especificado Si la tabla contiene muchas columnas, puede resultar complicado determinar el número de índice de columna correcto. Aquí puedes anidar la función MATCH dentro de la función VLOOKUP para encontrar la posición de la columna según un encabezado de columna determinado.
=VLOOKUP(G6,B6:E12,MATCH("Email",B5:E5,0),FALSE)
Nota: En la fórmula anterior, la función MATCH("Email",B5:E5,0) se utiliza para obtener el número de columna de la columna "Email" en el rango de datos B6:E12. Aquí el resultado es4, que se utiliza como col_index en la función VLOOKUP.
Se devuelve un valor incorrecto
Si notas que VLOOKUP no devuelve el resultado correcto, puede deberse a los siguientes motivos
Motivo1: La columna de búsqueda no está ordenada en orden ascendente
Si has establecido el último argumento en VERDADERO (o lo has dejado vacío) para una coincidencia aproximada, y la columna de búsqueda no está ordenada en orden ascendente, el valor resultante puede ser incorrecto.
Solución
Ordenar la columna de búsqueda en orden ascendente puede ayudarte a solucionar este problema. Para hacerlo, sigue estos pasos:
- Selecciona las celdas de datos en la columna de búsqueda, ve a la pestaña Datos, haz clic en Ordenar de menor a mayor en el grupo Ordenar y filtrar.
- En el cuadro de diálogo Advertencia de ordenación, selecciona la opción Expandir la selección y haz clic en Aceptar.
Motivo2: Se ha insertado o eliminado una columna
Como se muestra en la captura de pantalla a continuación, el valor que originalmente quería devolver está en la cuarta columna del rango de la tabla, por lo que especifico el número de índice de columna como4. Al insertar una nueva columna, la columna de resultado pasa a ser la quinta columna del rango de la tabla, lo que provoca que VLOOKUP devuelva el resultado de una columna incorrecta.
Soluciones
Aquí tienes dos soluciones para ti.
- Puedes cambiar manualmente el número de índice de columna para que coincida con la posición de la columna de devolución. La fórmula aquí debería cambiarse a:
=VLOOKUP(H6,B6:F12,5,FALSE)
- Si siempre quieres devolver el resultado de una columna determinada, como la columna Email en este ejemplo, la siguiente fórmula puede ayudarte a hacer coincidir automáticamente el índice de columna según el encabezado de columna dado, independientemente de si se insertan o eliminan columnas del rango de la tabla.
=VLOOKUP(H6,B6:F12,MATCH("Email",B5:E5,0),FALSE)
Otras notas sobre la función
- VLOOKUP solo busca valores de izquierda a derecha.
El valor de búsqueda debe estar en la columna más a la izquierda, y el valor de resultado debe encontrarse en cualquier columna a la derecha de la columna de búsqueda. - Si dejas el último argumento en blanco, VLOOKUP utiliza por defecto la coincidencia aproximada.
- VLOOKUP realiza una búsqueda sin distinguir mayúsculas y minúsculas.
- Para múltiples coincidencias, VLOOKUP solo devuelve la primera coincidencia que encuentra en el table_array, según el orden de las filas en el table_array.
Artículos relacionados
Más de20 ejemplos de VLOOKUP para usuarios principiantes y avanzados de Excel
Este tutorial muestra cómo utilizar la función VLOOKUP en Excel con decenas de ejemplos básicos y avanzados paso a paso.
VLOOKUP de derecha a izquierda
Si deseas buscar un valor específico en cualquier otra columna y devolver el valor relativo a la izquierda, los métodos de este tutorial pueden ayudarte a lograrlo.
VLOOKUP de abajo hacia arriba
Este tutorial proporciona dos métodos para ayudarte a buscar valores coincidentes de abajo hacia arriba.
Realizar una búsqueda VLOOKUP distinguiendo mayúsculas y minúsculas
Si deseas realizar una búsqueda VLOOKUP que distinga mayúsculas y minúsculas en Excel, el método de este tutorial puede ayudarte.
VLOOKUP mantiene el formato de origen
Este tutorial ofrece un método para ayudarte a conservar todo el formato de la celda resultante al realizar VLOOKUP en Excel.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Índice de contenidos
- Vídeos relacionados
- Explicación paso a paso de los argumentos
- Sintaxis y argumentos
- Ejemplos de VLOOKUP
- Coincidencia exacta vs. coincidencia aproximada
- VLOOKUP con múltiples condiciones
- Errores comunes y soluciones
- Error #N/A
- Error #VALUE
- Error #REF
- Valor incorrecto
- Otras notas sobre la función
- Artículos relacionados
- Las mejores herramientas de productividad para Office