KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

Función VLOOKUP de Excel

AutorSiluvia Fecha de modificación

La función VLOOKUP de Excel es una herramienta potente que le permite buscar un valor especificado haciendo coincidir la primera columna de una tabla o rango de forma vertical y, a continuación, devolver un valor correspondiente de otra columna en la misma fila. Aunque VLOOKUP es increíblemente útil, a veces puede resultar difícil de entender para principiantes. Este tutorial tiene como objetivo ayudarle a dominar VLOOKUP proporcionando una explicación paso a paso de los argumentos, ejemplos útiles y soluciones a errores comunes que puede encontrar al utilizar la función VLOOKUP.

mostrando el uso de la función BUSCARV


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 buscar un correo electrónico a partir de un número de identificación determinado. A continuación, le explico detalladamente cómo usar VLOOKUP en este ejemplo, desglosando cada argumento paso a paso.

Paso 1: Inicie la función VLOOKUP

Seleccione una celda (en este caso, H6) para mostrar el resultado y, a continuación, inicie la función BUSCARV escribiendo el siguiente contenido en la Barra de fórmulas.

=VLOOKUP(
Paso 2: Especifique el valor buscado

En primer lugar, especifique el valor que desea buscar (es decir, el dato que está buscando) en la función VLOOKUP. En este caso, hago referencia a la celda G6, que contiene el número de identificación 1005.

=VLOOKUP(G6

mostrando el uso de la función BUSCARV

Nota: El valor de búsqueda debe estar en la primera columna del Rango de datos.
Paso 3: Especifique la matriz de la tabla

A continuación, especifique un rango de celdas que incluya tanto el valor que busca como el valor que desea devolver. En este caso, selecciono el rango B6:E12. La fórmula ahora se muestra así:

=VLOOKUP(G6,B6:E12

mostrando el uso de la función BUSCARV

Nota: Si desea copiar la función VLOOKUP para buscar varios valores en la misma columna y obtener distintos resultados, debe utilizar referencias absolutas añadiendo el signo de dólar, de la siguiente manera:
=VLOOKUP(G6,$B$6:$E$12
Paso 4: Especifique la columna desde la que desea devolver un valor

Luego, especifique la columna desde la que desea obtener un valor.

En este ejemplo, como necesito obtener el correo electrónico en función de un número de identificación, introduzco el número 4 para indicar a VLOOKUP que devuelva el valor correspondiente de la cuarta columna del rango de datos.

=VLOOKUP(G6,B6:E12,4

mostrando el uso de la función BUSCARV

Paso 5: Buscar una coincidencia aproximada o exacta

Por último, decida si desea una coincidencia aproximada o exacta.

  • Para encontrar una coincidencia exacta, debe utilizar FALSO como último argumento.
  • Para encontrar una coincidencia aproximada, utilice VERDADERO como último argumento o déjelo en blanco.

En este ejemplo, utilizo FALSO para lograr una coincidencia exacta. Ahora, la fórmula tiene el siguiente aspecto:

=VLOOKUP(G6,B6:E12,4,FALSE

mostrando el uso de la función BUSCARV

Pulse la tecla Entrar para obtener el resultado

mostrando el uso de la función BUSCARV

Al desglosar cada argumento uno por uno en el ejemplo anterior, la sintaxis y los argumentos de la función BUSCARV resultan ahora mucho más fáciles de entender.


Sintaxis y argumentos

=VLOOKUP (lookup_value, table_array, col_index, [range_lookup])

  • Valor_buscado (obligatorio): el valor (un número real o una referencia de celda) que desea buscar. Recuerde que este valor debe encontrarse en la primera columna del argumento matriz_tabla.
  • Matriz_tabla (obligatorio): un rango de celdas que incluye tanto la columna del valor buscado como la del valor que se desea devolver.
  • Índice_columna (obligatorio): un número entero que indica la columna desde la que se obtendrá el valor devuelto. Comienza en 1, correspondiendo a la columna más a la izquierda de la matriz_tabla.
  • Buscar_intervalo(opcional): Un valor lógico que determina si desea que VLOOKUP busque una coincidencia aproximada o una coincidencia exacta.
    • Coincidencia aproximada: establezca este argumento en VERDADERO, 1 o déjelo en blanco.
      Importante: para encontrar una coincidencia aproximada, los valores de la primera columna del argumento tabla_matriz deben estar ordenados en orden ascendente; de lo contrario, BUSCARV podría devolver un resultado incorrecto.
    • Coincidencia exacta: establezca este argumento en FALSO o 0.

Ejemplos

Esta sección muestra algunos ejemplos para ayudarle a comprender de forma más completa la función VLOOKUP.

Ejemplo 1: Coincidencia exacta frente a coincidencia aproximada en VLOOKUP

Si le resulta confuso distinguir entre coincidencia exacta y coincidencia aproximada al usar VLOOKUP, esta sección le ayudará a clarificar dicha confusión.

Coincidencia exacta en VLOOKUP

En este ejemplo, buscaré los nombres correspondientes en función de las puntuaciones indicadas 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 con coincidencia exacta.

=VLOOKUP(E6,$B$6:$C$12,2,FALSE)

Sin embargo, como la puntuación 98 no existe en la primera columna de la Rango de datos, VLOOKUP devuelve un error #N/A.

mostrando el uso de la función BUSCARV

Nota: Aquí he bloqueado el rango de la tabla ($B$6:$C$12) en la función VLOOKUP para poder hacer referencia rápidamente a un conjunto coherentede datos frente a varios Rango de valor de búsqueda.
Coincidencia aproximada en VLOOKUP

Siguiendo con el ejemplo anterior, si cambia el último argumento a VERDADERO, VLOOKUP realizará una búsqueda con coincidencia aproximada. Si no encuentra ninguna coincidencia, buscará el valor inmediatamente inferior más grande al valor buscado y devolverá el resultado correspondiente.

=VLOOKUP(E6,$B$6:$C$12,2,TRUE)

Dado que no existe una puntuación de 98, VLOOKUP busca el valor inmediatamente inferior más cercano, que es 95, y devuelve el nombre asociado a esa puntuación como resultado aproximado.

mostrando el uso de la función BUSCARV

Notas:
  • En esta coincidencia aproximada que distingue entre mayúsculas y minúsculas, los valores de la primera columna de la matriz_tabla deben estar ordenados en orden ascendente; de lo contrario, BUSCARV podría no devolver el valor correcto.
  • Aquí he bloqueado la matriz de la tabla ($B$6:$C$12) en la función BUSCARV para poder hacer referencia rápidamente a un conjunto coherente de datos frente a varios Rango de valor de búsqueda.

Ejemplo 2: Usar VLOOKUP con varios criterios

Esta sección muestra cómo usar VLOOKUP con varias condiciones en Excel. Tal como se muestra en la captura de pantalla siguiente, si desea localizar un salario en función de un nombre proporcionado (en la celda H5) y un departamento (en la celda H6), siga los pasos que se indican a continuación.

mostrando el uso de la función BUSCARV

Paso 1: Añada una columna auxiliar para concatenar los valores de las columnas de búsqueda

En este caso, debemos crear una columna auxiliar para concatenar los valores de la columna Nombre y la columna Departamento.

  1. Añada una columna auxiliar a la izquierda de su Rango de datos y asigne un encabezado a esta columna. Consulte la captura de pantalla:
    mostrando el uso de la función BUSCARV
  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 Intro.
    =C6&" "&D6
    mostrando el uso de la función BUSCARV
    Notas: En esta fórmula, utilizamos un ampersand (&) para unir el texto de dos columnas y crear un único fragmento de texto.
    • C6 es el nombre de la columna Nombre que se va a unir; D6 es el primer departamento de la columna Departamento que se va a unir.
    • Los valores de estas dos celdas se combinan con un espacio entre ellos.
  3. Seleccione esta celda de resultado y arrastre el controlador de autorrelleno hacia abajo para aplicar esta fórmula al resto de celdas de la columna.
    mostrando el uso de la función BUSCARV
Paso 2: Aplique la función VLOOKUP con los criterios dados

Seleccione una celda donde desee mostrar el resultado (aquí selecciono I7), introduzca la siguiente fórmula en la Barra de fórmulas y pulse después Entrar.

=VLOOKUP(I5& " "&I6,B6:F12,5,FALSE)
Resultado

mostrando el uso de la función BUSCARV

Notas:
  • La columna auxiliar debe utilizarse como la primera columna de la Rango de datos.
  • Ahora, la columna de salario es la quinta del rango de datos, por lo que utilizamos el número 5 como índice de columna en la fórmula.
  • Debemos unir los criterios de I5 y I6 (I5&« »&I6) del mismo modo que en la columna auxiliar y utilizar el valor concatenado como argumento valor_buscado en la fórmula.
  • También puede introducir directamente las dos condiciones en el argumento valor_buscado y separarlas con un espacio (si las condiciones son texto, no olvide encerrarlas 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 - Búsqueda de múltiples condicionesde Kutools para ExcelLe permite realizar búsquedas con múltiples criterios de forma rápida y sencilla, en cuestión de segundos.¡Obtenga ya su prueba gratuita de 30 días con todas las funciones!
    mostrando el uso de la función BUSCARV

Error #N/A devuelto

El error más común con VLOOKUP es el error #N/A, lo que significa que Excel no ha podido encontrar el valor que estaba buscando. A continuación se indican algunas razones por las que VLOOKUP podría devolver el error #N/A.

Motivo 1: El valor buscado no está en la primera columna de la matriz_tabla

Una de las limitaciones de VLOOKUP en Excel es que solo permite buscar de izquierda a derecha; por tanto, el rango del valor de búsqueda debe estar en la primera columna de la matriz_tabla.

Tal como se muestra en la siguiente captura de pantalla, quiero obtener un nombre en función del cargo proporcionado. Aquí, el valor buscado ()director comercial) se encuentra en la segunda columna de la matriz_tabla, y el valor que se desea devolver está a la izquierda de la columna de búsqueda, por lo que VLOOKUP devuelve un error #N/A.

mostrando el uso de la función BUSCARV

Soluciones

Puede aplicar cualquiera de las siguientes soluciones para resolver este error.

  • Reordene las columnas
    Puede reordenar las columnas para situar la columna de búsqueda en la primera posición de la matriz_tabla.
  • Utilice conjuntamente las funciones ÍNDICE y COINCIDIR
    Aquí combinamos las funciones ÍNDICE y COINCIDIR como alternativa a VLOOKUP para resolver este problema.
    =INDEX(B6:B12,MATCH(F6,C6:C12,0))
    mostrando el uso de la función BUSCARV
  • Utilice la función BUSCARX (disponible en Excel 365, Excel 2021 y versiones posteriores)
    =XLOOKUP(F6,C6:C12,B6:B12)

Motivo 2: El valor buscado 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 el valor que busca no se encuentra.

Tal como se muestra en el ejemplo siguiente, vamos a buscar el nombre en función de la puntuación dada de 98 en E6. Sin embargo, esta puntuación no existe en la primera columna de la Rango de datos, por lo que VLOOKUP devuelve un error #N/A.

mostrando el uso de la función BUSCARV

Soluciones

Para corregir este error, puede probar una de las siguientes soluciones.

  • Si desea que VLOOKUP busque el valor más grande que sea menor que el valor buscado, cambie el último argumento FALSO (coincidencia exacta) por VERDADERO (coincidencia aproximada). Para obtener más información, consulte Ejemplo 1: Coincidencia exacta frente a coincidencia aproximada con VLOOKUP.
  • Para evitar tener que cambiar el último argumento y recibir un aviso si no se encuentra el valor buscado, puede incluir la función VLOOKUP dentro de la función SI.ERROR:
    =IFERROR(VLOOKUP(E8,$B$6:$C$12,2,FALSE),"Not found")

Motivo 3: El valor buscado es menor que el valor más pequeño de la columna de búsqueda (coincidencia aproximada)

Tal como se muestra en la siguiente captura de pantalla, está realizando una búsqueda con coincidencia aproximada. Dado que el valor que busca (el número de identificación 1001, en este caso) es menor que el valor más pequeño de la columna de búsqueda (1002), VLOOKUP devuelve un error #N/A.

mostrando el uso de la función BUSCARV

Soluciones

Aquí tiene dos soluciones.

  • Asegúrese de que el valor buscado sea mayor o igual al valor más pequeño en la columna de búsqueda.
  • Si desea que Excel le recuerde que no se ha encontrado el valor buscado, anide simplemente la función VLOOKUP en la función SI.ERROR de la siguiente manera:
    =IFERROR(VLOOKUP(G6,B6:E12,4,TRUE),"Not found")

Motivo 4: Los números están formateados como texto

Tal como puede ver en la captura de pantalla siguiente, 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, mientras que los valores del rango B6:B12 son números formateados como texto.

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

mostrando el uso de la función BUSCARV

Soluciones

Para resolver este problema, debe convertir el valor buscado nuevamente en número. A continuación le ofrecemos dos métodos.

  • Aplique la función Convertir a número
    Haga clic en la celda que desea convertir desde Texto a número, seleccione este botón mostrando el uso de la función BUSCARVjunto a la celda y luego seleccione Convertir a número.
    mostrando el uso de la función BUSCARV
  • Aplique una herramienta útil para convertir en lote Conversión entre texto y número
    La función Conversión entre texto y númerode Kutools para Excelle permite convertir fácilmente un rango de celdas desde Texto a número y viceversa.¡Obtenga ahora una prueba gratuita de 30 días con todas las funciones!

Motivo 5: El argumento table_array no es constante al arrastrar la fórmula VLOOKUP a otras celdas

Como se muestra en la captura de pantalla siguiente, hay dos Rango de valor de búsqueda en E6 y E7. Tras obtener el primer resultado en F6, al arrastrar la fórmula VLOOKUP desde la celda F6 hasta F7, se devuelve un error #N/A. Esto se debe a que las referencias de celda (B6:C12) son relativas de forma predeterminada y se ajustan al desplazarse hacia abajo por las filas. El rango de la tabla se ha desplazado a B7:C13, que ya no contiene el valor de búsqueda 73.

mostrando el uso de la función BUSCARV

Solución

Debe bloquear el rango de la tabla para mantenerlo constante añadiendo un $ delante de las filas y columnas en las referencias de celda. Para obtener más información sobre las referencias absolutas en Excel, consulte este tutorial: Referencia absoluta en Excel (cómo crearla y utilizarla).

mostrando el uso de la función BUSCARV

Se devuelve un error #VALUE

Las siguientes condiciones pueden provocar que VLOOKUP devuelva un error #VALUE.

Motivo 1: El valor de búsqueda supera los 255 caracteres

Como se muestra en la captura de pantalla siguiente, el valor de búsqueda en la celda H4 supera los 255 caracteres, por lo que VLOOKUP devuelve un error #VALUE.

mostrando el uso de la función BUSCARV

Soluciones

Para superar esta limitación, puede utilizar otra función de búsqueda compatible con cadenas más largas. Pruebe alguna de las siguientes fórmulas.

  • ÍNDICE y COINCIDIR:
    =INDEX(E5:E11, MATCH(TRUE, INDEX(B5:B11=H4, 0), 0))
    mostrando el uso de la función BUSCARV
  • Función BUSCARX(disponible en Excel 365, Excel 2021 y versiones posteriores):
    =XLOOKUP(H4,B5:B11,E5:E11)

Motivo 2: El argumento col_index es menor que 1

El índice de columna especifica el número de columna del rango de la tabla que contiene el valor que desea devolver. Este argumento debe ser un número positivo que corresponda a una columna válida dentro del rango de la tabla.

Si introduce un índice de columna menor que 1 (es decir, cero o negativo), VLOOKUP no podrá encontrar la columna en el rango de la tabla.

Solución

Para corregir este problema, asegúrese de que el argumento del índice de columna en su fórmula VLOOKUP sea un número positivo que corresponda a una columna válida del rango de la tabla.

Se devuelve un error #REF

Esta sección enumera un motivo por el que VLOOKUP devuelve un error #REF y ofrece soluciones para este problema.

Motivo: El argumento col_index es mayor que el número de columnas

Como puede observar en la captura de pantalla siguiente, el rango de la tabla tiene únicamente 4 columnas. Sin embargo, el índice de columna especificado en la fórmula VLOOKUP es 5, que es mayor que el número de columnas del rango de la tabla. Como resultado, VLOOKUP no podrá localizar la columna y devolverá un error #REF.

mostrando el uso de la función BUSCARV

Soluciones

  • Especifique un número de columna correcto
    Asegúrese de que el argumento índice de columna en su fórmula VLOOKUP sea un número que corresponda a una columna válida en la matriz de tabla.
  • Obtenga automáticamente el número de columna a partir del encabezado especificado
    Si su tabla tiene muchas columnas, puede resultar complicado identificar el número correcto de índice de columna. En estos casos, anide la función COINCIDIR dentro de VLOOKUP para localizar la posición de la columna según un encabezado determinado.
    =VLOOKUP(G6,B6:E12,MATCH("Email",B5:E5,0),FALSE)
    Nota: En la fórmula anterior, la función COINCIDIR(«Email»,B5:E5, 0) obtiene el número de columna correspondiente al encabezado "Email" dentro del rango B5:E5. En este ejemplo, el resultado es 4, que se utiliza como índice de columna en la función VLOOKUP.

Se devuelve un valor incorrecto

Si observa que VLOOKUP no devuelve el resultado correcto, puede deberse a alguno de los siguientes motivos

Motivo 1: La columna de búsqueda no está ordenada en orden ascendente

Si ha establecido el último argumento en VERDADERO(o)lo ha dejado vacío) para realizar una coincidencia aproximada y la columna de búsqueda no está ordenada de forma ascendente, el resultado podría ser incorrecto.

mostrando el uso de la función BUSCARV

Solución

Ordenar la columna de búsqueda en orden ascendente puede ayudarle a resolver este problema. Para hacerlo, siga los pasos que se indican a continuación:

  1. Seleccione las celdas de datos de la columna que desea buscar, vaya a la pestaña Datos y haga clic en Ordenar de menor a mayor en el grupo Ordenar y filtrar.
  2. En el cuadro de diálogo Advertencia al ordenar, seleccione la opción Ampliar selección y haga clic en Aceptar.

Motivo 2: Se ha insertado o eliminado una columna

Como se muestra en la captura de pantalla siguiente, el valor que originalmente quería devolver estaba en la cuarta columna del rango de la tabla, por lo que especifiqué el número de índice de columna como 4. Al insertar una nueva columna, la columna de resultados pasa a ser la quinta del rango de la tabla, lo que provoca que VLOOKUP devuelva el resultado de una columna incorrecta.

mostrando el uso de la función BUSCARV

Soluciones

Aquí tiene dos soluciones.

  • Puede ajustar 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 actualizarse a:
    =VLOOKUP(H6,B6:F12,5,FALSE)
  • Si siempre desea obtener el resultado de una columna específica, como la columna «Email» en este ejemplo, la siguiente fórmula puede ayudarle a coincidir automáticamente el índice de columna según el encabezado indicado, incluso si se insertan o eliminan columnas en la matriz 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 buscado debe estar en la columna más a la izquierda, y el valor que deseas obtener tiene que encontrarse en cualquier columna situada a su derecha.
  • Si deja el último argumento en blanco, VLOOKUP utiliza la coincidencia aproximada de forma predeterminada.
  • VLOOKUP realiza una búsqueda que no distingue entre mayúsculas y minúsculas.
  • En caso de múltiples coincidencias, VLOOKUP devuelve únicamente la primera coincidencia que encuentra en la matriz de tabla, según el orden de las filas en dicha matriz.

Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Aide: Revolucione Análisis de datos basándose 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   |   Redondeo sin usar fórmulas...
Super BUSCARV:BúsquedaV con múltiples criterios  |  BúsquedaV con múltiples valores  |   BúsquedaV entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable con selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de las columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos por lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 HerramientasCombinar y dividir(Combinar filas avanzado,Dividir celdas, ...)|... y más
Utilice Kutools en su idioma preferido: admite inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y Ahorrar tiempo.Haga clic aquí para acceder a la función que más necesita...


Office Tab Aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en ventanas nuevas.
  • ¡Aumente su productividad en un 50 % y reduzca cientos de clics del ratón cada día!

Todos los complementos Kutools. Un solo instalador

Kutools for Office es un conjunto que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, lo que lo convierte en la opción ideal para equipos que trabajan con distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Conjunto todo en uno— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (listo para MSI)
  • Funciona mejor en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos