Cómo hacer Vlookup con Múltiples Coincidencias en Excel (con Pasos Fáciles)

  • Compartir Este
Hugh West

Una de las funciones más sorprendentes y utilizadas de Excel es la función Función VLOOKUP Hasta ahora, hemos aprendido a extraer una única coincidencia de un rango de celdas utilizando esta función. Es posible que con frecuencia nos encontremos con situaciones en las que necesitemos obtener todos los valores coincidentes de un identificador único. En este artículo, demostraremos cómo podemos extraer múltiples coincidencias de un rango de celdas utilizando la función Función VLOOKUP en Excel.

Descargar el cuaderno de prácticas

Puede descargar el siguiente libro de Excel para comprenderlo mejor y practicar usted mismo.

Realizar Vlookup con Múltiples Coincidencias.xlsx

2 Pasos para Vlookup con Múltiples Coincidencias en Excel

Aquí tenemos el Registros de la Librería Martin Este conjunto de datos contiene Tipo de libro , Nombre del libro y Autor de algunos libros bajo columnas B , C y D correspondientemente.

Hoy nuestro objetivo es sacar todas las coincidencias de cada tipo de libro utilizando el Función VLOOKUP Lo ejecutaremos en dos pasos. Así que vamos a explorarlos uno por uno.

Aquí hemos utilizado Microsoft Excel 365 puede utilizar cualquier otra versión según su conveniencia.

📌 Paso 01: Crear un nombre único para cada valor de búsqueda

  • Al principio, inserte una nueva columna con el encabezamiento Columna de ayuda izquierda a la columna de búsqueda Tipo de libro e introduzca esta fórmula en la celda B5 .
=C5&COUNTIF(C5:$C$25,C5) Desglose de fórmulas
  • COUNTIF(C5:$C$25,C5) devuelve el número total de celdas del rango C5:C25 ( Tipo de libro ) que contienen el valor de la celda C5 ( Novedad Véase el Función COUNTIF para más detalles.
    • En palabras sencillas, cuántas novelas hay. Es 7 .
  • C5&COUNTIF(C5:$C$25,C5) concatena el valor de la celda C5 ( Novedad ) con él.
    • Así que devuelve Novela7 .

Al arrastrar el Asa de llenado herramienta, C5 se incrementa de uno en uno, como C5 , C6 , C7 ... pero C25 permanece constante. Por lo tanto, para cada Tipo de libro se excluyen los anteriores y se genera un nuevo nombre.

Por ejemplo, en el caso de las novelas, Novela1 a Novela7 y algo similar para Poesía y otros tipos de libros.

  • A continuación, pulse INTRODUCE .

  • A continuación, sitúe el cursor en la esquina inferior derecha de la celda B5 y parecerá un plus (+) signo. En realidad, es el Asa de llenado herramienta.
  • Ahora, haz doble clic sobre él.

Copiará esta fórmula al resto de las celdas. Encontrará todos los valores de búsqueda provistos de un nombre único, como por ejemplo Novela1 , Novela2.., Poesía1 , Poesía2... etc.

📌 Paso 02: Uso de la función VLOOKUP

  • En primer lugar, cree una nueva columna con Cabecera de columna como valor de búsqueda.

  • En segundo lugar, inserte la siguiente fórmula en la celda G5 que es la primera celda de esta columna.
=VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) Desglose de fórmulas
  • COUNTIF($C$5:$C$25,G$4) indica cuántas celdas del rango C5:C25 ( Tipo de libro ) contienen el valor de la celda G4 ( Novedad ).
    • En palabras sencillas, cuántas novelas hay en total. Es 7 .

Hemos utilizado la referencia de celda absoluta del rango C5:C25 ( $C$5:$C$25 ) porque queremos que no cambie si copiamos la fórmula en cualquier celda.

  • INDIRECT("A"&COUNTIF($C$5:$C$25,G$4)) se convierte en INDIRECTO("A"&7) y devuelve la referencia de la celda A7 Ver el Función INDIRECTA para más detalles.
  • ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) ahora es FILA(A1:A7) Ver el Función ROW para más detalles.
    • Devuelve un array de 1 a 7 como {1, 2, 3, 4, 5, 6, 7} .

Utilizamos $A$1 porque no queremos que cambie si copiamos la fórmula a otra celda.

  • G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))) concatena ahora el valor de la celda G4 ( Novedad ) con la matriz devuelta por la función Función ROW y devuelve otra matriz.
    • Así que devuelve {Novela1, Novela2, ..., Novela7} .
  • VLOOKUP(G$4&ROW($A$1:INDIRECT("A"&COUNTIF($C$5:$C$25,G$4))),$B$5:$E$25,3,FALSE) se convierte en VLOOKUP({Novela1, Novela2, ..., Novela7},$B$5:$E$25,3,FALSE) .

Busca cada valor de la matriz {Novela1, Novela2, ... Novela7} en la columna de búsqueda B .

A continuación, devuelve el nombre correspondiente de la novela del Tercero (como la columna col_index_num es 3 Así, obtenemos una lista de todas las novelas.

  • Como de costumbre, pulse la tecla INTRODUCE llave.

Nota: Es una fórmula de matriz. Así que no olvides pulsar Ctrl + Mayús + Intro a menos que esté en Excel 365 .

Y para el otro Tipos de libros ,

  • Al principio, inserta sus nombres uno al lado del otro como Encabezados de columna y arrastre el Asa de llenado .

Más información: VLOOKUP INDIRECTO en Excel

Lecturas similares

  • VLOOKUP No Funciona (8 Razones & Soluciones)
  • Excel LOOKUP vs VLOOKUP: Con 3 Ejemplos
  • ¿Por qué VLOOKUP devuelve #N/A cuando existe una coincidencia? (5 causas y soluciones)
  • Usar VLOOKUP con Múltiples Criterios en Excel (6 Métodos + Alternativas)
  • Excel VLOOKUP para encontrar el último valor de la columna (con alternativas)

Formas alternativas de Vlookup con múltiples coincidencias en Excel

Si el método anterior le parece peligroso, no se preocupe. Hay más opciones disponibles.

1. Uso de la función FILTRO

Este es, de hecho, el método más sencillo. En este caso, utilizaremos únicamente el método Función FILTRO Sigue estos sencillos pasos.

📌 Pasos:

  • En primer lugar, escriba el Tipo de libro como el Cabecera de columna e introduzca la siguiente fórmula en la celda F5 .
=FILTRO($C$5:$C$25,$B$5:$B$25=F$4) Desglose de fórmulas

Toma,

  • $C$5:$C$25 ( Nombre del libro ) es el matriz_de_busqueda Estamos buscando los nombres de los libros. Usa el tuyo.
  • $B$5:$B$25 ( Tipo de libro ) es el matching_array Queremos que coincidan los tipos de libros. Utiliza el tuyo en consecuencia.
  • F4 ( Novedad ) es el valor_compartido Queremos que coincida con las novelas. Úsalo en consecuencia.
  • A continuación, pulse INTRODUCE .

Ahora bien, si desea que el Nombres de libros de todos los Tipos de libros ,

  • Inicialmente, inserte sus nombres como Encabezados de columna uno al lado del otro y, a continuación, arrastre el Asa de llenado herramienta.

2. Aplicación de la combinación de las funciones ÍNDICE, PEQUEÑO y FILAS (compatible con versiones anteriores de Excel)

En Función FILTRO sólo está disponible en Office 365 Así que, si utilizas la versión anterior de Excel, no te preocupes. Tenemos otra solución para ti. Es simple y fácil; sólo tienes que seguirnos.

📌 Pasos:

  • Principalmente, inserte el Tipo de libro como el Cabecera de columna en celda F4 e introduzca esta fórmula en la celda F5 .
=IFERROR(INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,ROW(B5:B25)-ROWS(B1:B4),""),(ROW(B5:B25)-ROWS(B1:B4))))),"") Desglose de fórmulas
  • FILA(B5:B25) devuelve una matriz de {5, 6, 7, ..., 25} . y FILAS(B1:B4) devuelve 4 . Entonces FILA(B5:B25)-FILAS(B1:B4) devuelve una matriz de {1, 2, 3, ..., 21} Ver el FILA y FILAS para más detalles.
  • IF($B$5:$B$25=F4,FILA(B5:B25)-FILAS(B1:B4),"") devuelve el número correspondiente de la matriz {1, 2, 3, ..., 21} el valor de la celda F4 ( Novedad ) coincide con el valor de cualquier celda del rango B5:B25 ( Tipo de libro ). En caso contrario, devuelve una celda en blanco. Véase la función Función IF para más detalles.

  • SMALL(IF($B$5:$B$25=F4,FILA(B5:B25)-FILAS(B1:B4),""),(FILA(B5:B25)-FILAS(B1:B4))) se convierte en SMALL({1, ..., 3, ..., 6, ..., 20, ...},{1, 2, 3, 4, ...., 21}) y devuelve primero los números y luego ¡#NUM! errores en las celdas en blanco. Véase el Función SMALL para más detalles.

  • INDEX($C$5:$C$25,(SMALL(IF($B$5:$B$25=F4,FILA(B5:B25)-FILAS(B1:B4),""),(FILA(B5:B25)-FILAS(B1:B4))))) se convierte en INDEX($C$5:$C$25,{1,3,6,11,...,#NUM!}) y devuelve el Nombres de libros (Nombre de las novelas) y ¡#NUM! errores. Véase el Función INDEX para más detalles.

  • Por último, envolvemos la fórmula dentro de un Función IFERROR para convertir los errores en celdas en blanco.
  • A continuación, pulse INTRODUCE .

  • Ahora, si quieres, inserta el otro Tipos de libros como Encabezados de columna y arrastre el Asa de llenado Obtendrá los libros de los otros tipos de libros.

3. Vlookup con Múltiples Coincidencias y Devolución de Resultados en una Fila

En los métodos anteriores, obtuvimos los resultados en columnas verticales. Pero si queremos obtener los valores en una fila, ¿cómo podemos hacerlo? Aquí, obtendremos los valores Autor nombres para diferentes Tipos de libros Siga atentamente los pasos que se indican a continuación.

📌 Pasos:

  • Al principio, vaya a la celda G5 y escribe la fórmula que aparece a continuación.
=IFERROR(INDEX($D$5:$D$19,SMALL(IF($F5=$B$5:$B$19,ROW($D$5:$D$19)-4,""),COLUMN()-6)),"")

Esta fórmula es similar a la anterior, por lo que si tiene algún problema para entenderla, consulte la página explicación anterior .

  • A continuación, pulse el botón INTRODUCE llave.

Pero hay otros autores que tienen novelas en este conjunto de datos. Entonces, ¿cómo podemos conseguirlas?

Basta con arrastrar el Asa de llenado hasta la celda K5 para obtener el otro Autores de Novedad Además, arrastre el Asa de llenado herramienta a celda K7 para obtener los nombres de Autores Véase la imagen siguiente para mayor claridad.

Cómo hacer un Vlookup de varias coincidencias con varios criterios

En nuestros ejemplos anteriores, encontramos los valores para criterios únicos. Por ejemplo, obtenemos los títulos de los libros para un tipo de libro específico. Pero aquí, implicaremos criterios múltiples. Buscaremos el criterio Novelas de Charles Dickens utilizando este método. Veámoslo en acción.

📌 Pasos:

  • En primer lugar, seleccione la celda H5 y pega la siguiente fórmula.
=IFERROR(INDEX($C$5:$C$25,SMALL(IF(1=((--($F$5=$B$5:$B$25))*(--($G$5=$D$5:$D$25))),ROW($C$5:$C$25)-4,""),ROW()-4)),"")
  • A continuación, pulse INTRODUCE .

Cómo hacer Vlookup y devolver múltiples coincidencias en una celda

En enfoques anteriores, obtuvimos los valores en diferentes celdas. Pero vamos a mostrar cómo podemos obtener resultados en una sola celda. Así que, sin más demora, ¡vamos a sumergirnos!

📌 Pasos:

  • Principalmente, ir a la celda G5 e introduce la siguiente fórmula.
=TEXTJOIN(", ",TRUE,IF($F$5=$B$5:$B$25,C5:C25,""))

Aquí, el Función IF obtiene el valor del intervalo C5:C25 donde los valores correspondientes en el intervalo B5:B25 coincide con el valor de la celda F5 Entonces, el Función TEXTJOIN combina los valores de la matriz con una coma como delimitador.

  • En segundo lugar, pulse INTRODUCE .

Más información: Función INDEX MATCH vs VLOOKUP (9 Ejemplos)

Conclusión

En este artículo se explica cómo hacer vlookup con múltiples coincidencias en Excel de una manera sencilla y concisa. No olvide descargar el archivo Práctica. Gracias por leer este artículo. Esperamos que le haya sido útil. Si tiene alguna duda o sugerencia, no dude en hacérnoslo saber en la sección de comentarios. Visite nuestro sitio web, ExcelWIKI un proveedor integral de soluciones Excel, para saber más.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.