Saltar al contenido principal
InicioTutorialesHojas de cálculo

Cómo hacer un VLOOKUP() con múltiples criterios

Domina el arte de utilizar VLOOKUP() con criterios múltiples en Excel. Explora técnicas avanzadas como las columnas de ayuda y la función ELEGIR().
Actualizado ago 2024  · 10 min leer

VLOOKUP() es una de las funciones más utilizadas de Excel. Te permite buscar y recuperar datos de una columna concreta de una tabla. Además, ayuda a fusionar datos de diferentes hojas o a encontrar información relacionada.

Pero, ¿sabías que la funcionalidad de VLOOKUP()puede ampliarse para incluir múltiples criterios? Esto ayudará a los usuarios que a menudo necesitan hacer coincidir varias condiciones al buscar datos, que es un problema habitual que aparece al trabajar con hojas de cálculo. 

En este artículo, veremos cómo puedes utilizar VLOOKUP() con criterios múltiples para subir de nivel en tu trabajo. Si eres nuevo en Excel, consulta primero nuestro curso Introducción a Excel para aprender los entresijos de la gestión de tablas y la aplicación de cálculos.

Conceptos básicos de VLOOKUP()

Antes de entrar en VLOOKUP() con criterios múltiples, repasemos primero la sintaxis básica de VLOOKUP(), que es la siguiente: 

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

En la fórmula anterior:

  • lookup_value es el valor que quieres buscar. Puede ser un número, un texto o una referencia a una celda que contenga el valor buscado.

  • table_array es el rango de celdas que contiene los datos. La primera columna de este rango debe contener la clave de búsqueda.

  • col_index_num es el número de columna del rango del que quieres recuperar el valor. 

  • range_lookup es donde introduces un valor lógico (TRUE o FALSE). Si TRUE, VLOOKUP() asume que la primera columna del rango está ordenada de forma ascendente y devuelve la coincidencia más cercana.

Vamos a entenderlo con un ejemplo. Aquí tengo una hoja llena de datos relacionados con los empleados, y quiero encontrar rápidamente el nombre de un empleado concreto basándome en su número de identificación. Para ello, utilizaré un VLOOKUP()

utilizando la fórmula vlookup en la tabla de empleados.

Una tabla con los datos del empleado. Fuente: Imagen del autor.

Primero introduzco un valor en la celda F6 que coincide con un valor de la tabla. En mi caso, miro la columna de referencia EMP ID cuando elijo 4032.

Introducir el valor de look_up en la celda.

Introducir el valor de VLOOKUP() en una celda. Fuente: Imagen del autor.

A continuación, selecciono la celda G6 y empiezo a escribir mi fórmula.

Introducir VLOOK_UP en una celda.

Introducir la fórmula VLOOKUP() en una celda. Fuente: Imagen del autor.

A continuación, selecciono la celda donde he introducido 4032. Este es el valor que busco en la tabla. 

Selecciona una celda en la que se almacene el valor de la consulta.

Introducir el número de celda donde se almacena el valor VLOOKUP(). Fuente: Imagen del autor. 


A continuación, selecciono el rango de la tabla (A2:D11). 

Selecciona el rango de la tabla que contiene los datos en los parámetros vlook up.

Seleccionar el rango de la tabla que contiene los datos. Fuente: Imagen del autor.

Contando desde la izquierda, selecciono la columna número 2 porque busco FIRST NAME y FIRST NAME es la segunda columna. 

Selecciona el número de columnas de las que mostrar los resultados.

Introduciendo el número de columna para el que quieres resultados. Fuente: Imagen del autor.

Después de escribir FALSE para obtener una coincidencia exacta, pulso Intro. Puedes ver cómo la función VLOOKUP() encuentra el FIRST NAME del empleado con EMP ID igual a 4032.

Recuperar la salida deseada.

Recuperar la salida deseada. Fuente: Imagen del autor.

Cómo utilizar VLOOKUP() con múltiples criterios

VLOOKUP()en su forma básica, funciona bien para búsquedas sencillas, pero puede resultar complicado cuando combinas varios criterios. Pero puedes abordar estas limitaciones con un par de técnicas. Entendamos cómo. 

VLOOKUP() con una columna de ayuda 

Si necesitas utilizar un VLOOKUP() con varios criterios, puedes utilizar una columna de ayuda para combinar varios criterios en uno solo. Ilustrémoslo con el siguiente ejemplo, en el que quiero encontrar el importe de las ventas de cada persona basándome tanto en una fecha como en un producto. 

Una tabla que contiene la fecha, el nombre del cliente, el producto y el importe de la venta del cliente.

Una tabla con los datos del cliente. Fuente: Imagen del autor.

Para empezar, creo una nueva columna concatenando los criterios múltiples en un identificador único. En mi caso, se concatenarán tres columnas: Customer Name, Product, y Date.

Crea una columna AYUDA.

Crear una columna "ayudante". Fuente: Imagen del autor.

Ésta es la fórmula que utilizo para combinar las columnas en una sola:

=B2&"|"&C2&"|"&D2

Como puedes ver, hay un símbolo de pipa después del nombre de la columna. Esto funciona como separador entre los datos de cada columna, y generalmente se considera una buena práctica al concatenar.

Concatenar 3 columnas en una celda.

Concatenar tres columnas en una celda. Fuente: Imagen del autor.

Si te preguntas por qué hay un número en lugar de una fecha aunque hayamos seleccionado una columna de fecha, es porque el formato de fecha se ha cambiado a un formato numérico. La búsqueda funcionará igual, pero si quieres ver los datos de una forma más reconocible, utiliza la función TEXT(). La función TEXT() toma dos parámetros: value es el valor que quieres cambiar, y format_text es el formato al que quieres cambiar el valor.

Text Formula

Fórmula de texto. Fuente: Imagen del autor.

Así que, para concatenar a la vez que formateo la fecha, escribo lo siguiente:

=B2&"|"&C2&"|"&TEXT(D2, "DD-MM-YY")

Formatear la fecha utilizando la fórmula TEXTO.

Formatear la fecha utilizando la fórmula TEXT(). Fuente: Imagen del autor.

Luego, arrastro la fórmula hacia abajo para rellenar la nueva columna de todas las filas.

Copia la fórmula arrastrándola.

Copiar la fórmula arrastrándola. Fuente: Imagen del autor.

Y ya está. Las tres columnas se concatenan correctamente. A continuación, preparo la tabla de consulta, que puedes ver en la imagen de abajo. 

Prepara tu tabla de consulta.

Preparando mi mesa. Fuente: Imagen del autor.

A continuación, escribo la siguiente fórmula y pulso Intro. Puedes ver los resultados a continuación. 

=VLOOKUP(G6&"|"&H6&"|"&TEXT(I6, "DD-MM-YY"),$A$2:$E$11, 5,0)

Recuperar las ventas utilizando Vlookup con criterios múltiples.

Recuperar las ventas utilizando Vlookup con criterios múltiples. Fuente: Imagen del autor.

VLOOKUP() con la función CHOOSE() 

La función CHOOSE() selecciona y devuelve un valor de una lista a partir de un índice o posición especificados. Esta es la sintaxis de la función CHOOSE():

CHOOSE(index_num, value1, [value2], ...)

En esta fórmula:

  • index_num es un número que especifica qué valor elegir.

  • value1, value2, … es la lista de valores a elegir.

La función CHOOSE() puede ayudarte cuando necesites buscar valores basándote en varios criterios o cuando la estructura de datos no encaje perfectamente en una sola tabla. En estos casos, CHOOSE() creará una tabla virtual para combinar columnas de distintas fuentes o reordenar las columnas para adaptarlas a tus necesidades de búsqueda. Vamos a entenderlo con un ejemplo. Tengo el siguiente conjunto de datos: 

Una tabla con las puntuaciones de los alumnos en tres trimestres

Una tabla con las puntuaciones de los alumnos en tres trimestres. Fuente: Imagen del autor.

Ahora quiero obtener las puntuaciones de los alumnos del primer trimestre. Por tanto, introduzco la siguiente fórmula en la celda F2:

=VLOOKUP($E2&"|"&F$1, CHOOSE({1,2}, $A$2:$A$16&"|"&$B$2:$B$16, C2:C15), 2, FALSE)

Obtén las notas de los alumnos del primer trimestre

Obtén las notas de los alumnos del primer trimestre. Fuente: Imagen del autor.

Así es como funciona la fórmula:

  • CHOOSE({1,2}, $A$2:$A$16&"|"&$B$2:$B$16, C2:C15) crea una columna virtual de ayuda fusionando varios criterios en identificadores únicos. 

  • =VLOOKUP($E2&"|"&F$1, ..., 2, FALSE) busca el valor especificado en esta primera columna virtual y recupera la puntuación asociada de la segunda columna.

De este modo, también puedes encontrar lo que necesitas sin hacer columnas adicionales en tu hoja de cálculo.

Una alternativa a VLOOKUP() con criterios múltiples

Aunque VLOOKUP() es una función muy utilizada en Excel, no es la única función para buscar datos. Puedes explorar alternativas como INDEX() y MATCH(). Veamos cómo funcionan juntos para servir al mismo propósito de VLOOKUP() con múltiples criterios.

INDEX() y MATCH() como VLOOKUP()

Las funciones INDEX() y MATCH() utilizadas conjuntamente permiten realizar búsquedas dinámicas de columnas. Puedes utilizarlos para trabajar con datos no ordenados en orden ascendente, y también pueden manejar búsquedas horizontales y verticales. Vamos a demostrarlo con el siguiente conjunto de datos:

Una tabla que contiene una lista con el nombre del empleado, su edad, su puesto y su ubicación.

Una tabla que contiene los datos de los empleados. Fuente: Imagen del autor.

A partir de estos datos, quiero averiguar la posición de Juan, que tiene 25 años y vive en Chicago. 

Crea una tabla de consulta para encontrar el puesto de un empleado.

Crear una tabla de referencia. Fuente: Imagen del autor.

Ahora escribimos la siguiente fórmula en G5:

=INDEX(C2:C5,MATCH(1,(G3=A2:A5)*(G4=B2:B5)*(G6=D2:D5),0))

Utilizar las funciones INDEX y MATCH con varios criterios para encontrar la posición de Juan

Utilización conjunta de INDEX() y MATCH(). Fuente: Imagen del autor.

Reflexiones finales

He tratado algunas de las técnicas más importantes que pueden utilizarse con VLOOKUP()-columnas de ayuda, fórmulas de matriz e incluso funciones extravagantes como INDEX() y MATCH(). Estos métodos facilitan el manejo de grandes conjuntos de datos y te hacen confiar más en tus datos.

Si quieres aprender más sobre análisis y visualización de datos en Excel, consulta estos cursos: Análisis de Datos en Excel y Visualización de Datos en Excel. También tenemos una lectura más breve, que es nuestro tutorial Visualizar datos en Excel.

Preguntas frecuentes

¿Puede VLOOKUP() devolver varios valores?

VLOOKUP() no puede devolver varios valores, pero puedes utilizar fórmulas de matriz u otras funciones como INDEX(), SMALL() y ROW() para recuperar varios valores.

¿Cómo se crea una búsqueda bidireccional con VLOOKUP()?

Puedes utilizar una combinación de VLOOKUP() y MATCH() o una combinación de INDEX() y MATCH() para crear una búsqueda bidireccional.

¿Cómo se realiza una búsqueda sin distinguir mayúsculas de minúsculas en Excel?

VLOOKUP() de Excel no distingue entre mayúsculas y minúsculas, pero puedes utilizar funciones como EXACT() para realizar comparaciones que distingan entre mayúsculas y minúsculas.

Temas

Aprende Excel con DataCamp

Course

Data Analysis in Excel

3 hr
48.5K
Learn how to analyze data with PivotTables and intermediate logical functions before moving on to tools such as what-if analysis and forecasting.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Las 15 fórmulas básicas de Excel que todo el mundo debe conocer

Aprende a añadir fórmulas aritméticas, de cadena, de series temporales y complejas en Microsoft Excel.
Abid Ali Awan's photo

Abid Ali Awan

15 min

tutorial

Seleccionar varias columnas en SQL

Aprende a seleccionar fácilmente varias columnas de una tabla de base de datos en SQL, o a seleccionar todas las columnas de una tabla en una simple consulta.
DataCamp Team's photo

DataCamp Team

3 min

tutorial

Tutorial de cálculo de Power BI

Aprenda a utilizar la función CALCULAR de Power BI con ejemplos de uso.
Joleen Bothma's photo

Joleen Bothma

6 min

tutorial

Visualización de datos en Excel

Conozca las distintas opciones de visualización de datos de Excel que pueden ayudarle a analizar e interpretar sus datos.
Jess Ahmet's photo

Jess Ahmet

12 min

tutorial

Gráficos de columnas agrupadas en Excel: Cómo crearlos y personalizarlos

Este tutorial trata sobre los gráficos de columnas agrupadas, por qué Excel es bueno para crearlos y cómo crear y personalizar gráficos de columnas agrupadas en Excel.
See MoreSee More