Skip to main content

Función VLOOKUP de Excel

Author: Siluvia Last Modified: 2025-06-04

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.

showing the usage of VLOOKUP function


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

showing the usage of VLOOKUP function

Nota: El valor de búsqueda debe estar en la primera columna del área de datos.
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

showing the usage of VLOOKUP function

Nota: Si deseas copiar la función VLOOKUP para buscar varios valores en la misma columna y obtener diferentes resultados, debes usar referencias absolutas añadiendo el signo de dólar, así:
=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

showing the usage of VLOOKUP function

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

showing the usage of VLOOKUP function

Pulsa la tecla Enter para obtener el resultado

showing the usage of VLOOKUP function

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.

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.

showing the usage of VLOOKUP function

Nota: 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.
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.

showing the usage of VLOOKUP function

Notas:
  • 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.

showing the usage of VLOOKUP function

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.

  1. Agrega una columna auxiliar a la izquierda de tu área de datos y asígnale un encabezado. Consulta la captura de pantalla:
  2. 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.
  3. 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

showing the usage of VLOOKUP function

Notas:
  • 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 segundos
    La 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.

  Resumen de errores comunes de VLOOKUP:
          
        Motivo1: El valor de búsqueda no está en la primera columna  
    Motivo2: El valor de búsqueda no se encuentra  
  ------ Motivo3: El valor de búsqueda es menor que el valor más pequeño  
    Motivo4: Los números están formateados como texto  
      Motivo5: Table_array no es constante  
         
  ------ Motivo1: El valor de búsqueda supera los255 caracteres  
  Motivo2: Col_index es menor que1  
         
  ------ Motivo1: Col_index es mayor que el número de columnas  
   
         
  ------ Motivo1: La columna de búsqueda no está ordenada en orden ascendente  
  Motivo2: Se ha insertado o eliminado una columna  
         

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.

showing the usage of VLOOKUP function

Soluciones

Puedes aplicar cualquiera de las siguientes soluciones para corregir este error.

  • Reorganiza las columnas
    Puedes reorganizar las columnas para colocar la columna de búsqueda como la primera columna del table_array.
  • Utiliza las funciones INDEX y MATCH juntas
    Aquí usamos las funciones INDEX y MATCH juntas como alternativa a VLOOKUP para resolver este problema.
    =INDEX(B6:B12,MATCH(F6,C6:C12,0))
    showing the usage of VLOOKUP function
  • 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.

showing the usage of VLOOKUP function

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.

showing the usage of VLOOKUP function

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.

Consejo: Si un número se convierte en texto, se muestra un pequeño triángulo verde en la esquina superior izquierda de la celda.

showing the usage of VLOOKUP function

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úmero
    Haz clic en la celda que deseas convertir de texto a número, selecciona este botón showing the usage of VLOOKUP function junto a la celda y luego selecciona Convertir a número.
    showing the usage of VLOOKUP function
  • Utiliza una herramienta práctica para convertir en lote entre texto y número
    La 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.

showing the usage of VLOOKUP function

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

showing the usage of VLOOKUP function

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.

showing the usage of VLOOKUP function

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))
    showing the usage of VLOOKUP function
  • 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.

showing the usage of VLOOKUP function

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.

showing the usage of VLOOKUP function

Solución

Ordenar la columna de búsqueda en orden ascendente puede ayudarte a solucionar este problema. Para hacerlo, sigue estos pasos:

  1. 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.
  2. 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.

showing the usage of VLOOKUP function

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.

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

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!