Tabla de contenido
Mientras trabaja con grandes cantidades de datos en Excel, a veces puede encontrarse en una situación en la que necesita buscar valores que aparecen varias veces en su conjunto de datos. Por lo tanto, tiene que ver esos datos en una celda. En este tutorial, le mostraremos cómo utilizar VLOOKUP para múltiples valores en una celda en Excel.
En general, no utilizamos directamente el VLOOKUP Vamos a buscar varios valores en una celda de forma similar a la función VLOOKUP. Esperamos que este tutorial le resulte útil.
Descargar el cuaderno de prácticas
Vlookup Múltiples Valores en una Celda.xlsm2 Métodos Fáciles para Hacer Vlookup para Múltiples Valores en una Celda
Ahora, vamos a mostrarte 2 formas de buscar múltiples valores en una celda en Excel. La primera es utilizando la función Fórmulas y la segunda utiliza el VBA En este artículo buscaremos tanto valores repetidos como no repetidos, por lo que puedes elegir el método que mejor se adapte a tu problema.
Para demostrar este problema, vamos a utilizar el siguiente conjunto de datos:
Aquí, tenemos algunos vendedores Nombres y su venta Productos Ahora, nuestro objetivo es encontrar los productos de venta de cada vendedor.
1. Uso de Fórmulas para Vlookup Múltiples Valores en una Celda en Excel
En TEXTJOIN será nuestra función para implementar este método. La función TEXTJOIN le permite unir 2 o más cadenas con cada valor separado por un signo delimitador Principalmente, estamos combinando diferentes funciones con la función TEXTJOIN para implementar nuestra fórmula.
En TEXTJOIN solo está disponible para Excel 2019 y Office 365.Sintaxis básica de la función TEXTJOIN:
=TEXTJOIN(delimitador, ignore_empty, texto1, [texto2], ...)
Aquí, nuestro delimitador será una coma ( ","
) para separar valores en una celda.
1.1 Las funciones TEXTJOIN e IF
Ahora, esta fórmula es bastante fácil de usar. Esta fórmula buscará los valores y también los insertará en una celda con un delimitador, coma. Pero, recuerde que esta fórmula devolverá el valor con duplicados.
La sintaxis básica:
=TEXTJOIN(", ",TRUE,IF(valor_de_busqueda=rango_de_busqueda,,rango_de_busqueda,""))
📌 Pasos
1. En primer lugar, escriba la siguiente fórmula en Celda F5 :
=TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
2. A continuación, pulse Entra.
3. Por último, arrastre el Asa de llenado icono sobre el rango de celdas F6:F7 .
Al final, conseguimos utilizar VLOOKUP varios valores en una celda.
🔎 Desglose de la fórmula
Estamos utilizando este desglose sólo para la persona "Juan"
➤ IF(E5=B5:B13,C5:C13,"")
Esta función devuelve la siguiente matriz:
{"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ TEXTJOIN(", ",TRUE,IF(E5=B5:B13,C5:C13,""))
Por último, el TEXTJOIN devolverá el siguiente resultado:
{Móvil, TV, Nevera, Móvil}
Más información: Excel VLOOKUP para Devolver Múltiples Valores en una Celda Separados por Coma
1.2 Las funciones TEXTJOIN y MATCH (sin duplicados)
Ahora, si desea varios valores en una celda, puede utilizar esta fórmula. Esta fórmula es una combinación de la fórmula TEXTJOIN y MATCH Esta fórmula es un poco compleja de utilizar, pero seguro que te dará los valores deseados.
📌 PASOS
1. En primer lugar, escriba la siguiente fórmula en Celda F5 :
=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
2. A continuación, pulse Entra.
3. Por último, arrastre el Asa de llenado icono sobre el rango de celdas F6:F7 .
Al final, conseguimos utilizar VLOOKUP varios valores en una celda sin valores duplicados.
🔎 Desglose de la fórmula
Estamos utilizando este desglose sólo para la persona "Juan"
➤ FILA(C5:C13)
Devuelve una matriz de {5;6;7;8;9;10;11;12;13}
➤ MATCH(FILA(C5:C13), FILA(C5:C13))
Vuelve: {1;2;3;4;5;6;7;8;9}
➤ IF(E5=B5:B13, C5:C13, "")
Vuelve: {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ MATCH(C5:C13, IF(E5=B5:B13, C5:C13, "")
Esta función devuelve: {8;8;7;9;7;7;7;8;7}
➤ IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")
Vuelve: {1;1;"";4;"";6;"";1;""}
➤ IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, "")
Vuelve: {"Mobile";"";"";"TV";"";"Fridge";"";"";""}
➤ TEXTJOIN(",", TRUE, IF(IFERROR(MATCH(C5:C13, IF(E5=B5:B13, C5:C13, ""), 0),"")=MATCH(ROW(C5:C13), ROW(C5:C13)), C5:C13, ""))
El resultado final será Móvil, TV, Frigorífico .
Más información: Cómo Realizar VLOOKUP con Varias Filas en Excel (5 Métodos)
1.3 Las funciones TEXTJOIN y UNIQUE (sin duplicados)
Ahora, el ÚNICO sólo está disponible en Excel 365. Por lo tanto, si utiliza Excel 365, puede utilizar esta fórmula. La fórmula anterior es un poco difícil, pero esta fórmula facilitará la búsqueda de valores en una celda. La función UNIQUE devuelve una lista de valores únicos en una lista o rango. Ahora bien, la diferencia entre la primera y la tercera fórmula es que se utiliza la función ÚNICO antes de la función SI función.
Sintaxis básica de la función UNIQUE:
=UNIQUE (array, [by_col], [exactly_once])
matriz - Rango o matriz de la que extraer valores únicos.
by_col - Por fila = FALSE (por defecto); por columna = TRUE.
exactamente_una vez - opcional] TRUE = valores que aparecen una vez, FALSE= todos los valores únicos (por defecto)
📌 PASOS
1. En primer lugar, escriba la siguiente fórmula en Celda F5 :
=TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
2. A continuación, pulse Entra.
3. Por último, arrastre el Asa de llenado icono sobre el rango de celdas F6:F7.
Como puede ver, hemos utilizado con éxito VLOOKUP varios valores en una celda.
🔎 Desglose de la fórmula
Estamos utilizando este desglose sólo para la persona "Juan"
➤ IF(E5=B5:B13,C5:C13,"")
Devuelve {"Mobile";"";"";"TV";"";"Fridge";"";"Mobile";""}
➤ UNIQUE(IF(E5=B5:B13,C5:C13,""))
Devuelve {"Mobile";"";"TV";"Fridge"}
➤ TEXTJOIN(", ",TRUE,UNIQUE(IF(E5=B5:B13,C5:C13,"")))
Resultado final Móvil,TV,Nevera
Más información: Cómo hacer Vlookup y devolver múltiples valores en una lista desplegable
2. Uso de Códigos VBA para Vlookup Múltiples Valores en una Celda
En TEXTJOIN sólo está disponible para MS Excel 2019 y MS Excel 365 Por lo tanto, si conoce bien los códigos VBA de Excel, estos dos códigos le resultarán muy prácticos. El primero será con duplicados y el segundo será sin duplicados. Por lo tanto, elija su método en función de su problema.
2.1 VBA Codifica Múltiples Valores en una Celda
📌 PASOS
1. Primero. Pulse Alt+F11 para abrir el Editor de Visual Basic.
2. A continuación, haga clic en Insertar> Módulo .
3. A continuación, escriba el siguiente código:
Function MultipleValues(rango_de_trabajo As Range, criteria As Variant, rango_de_mezcla As Range, Optional Separator As String = ",") As Variant Dim outcome As String On Error Resume Next If rango_de_trabajo.Count rango_de_mezcla.Count Then MultipleValues = CVErr(xlErrRef) Exit Function End If For i = 1 To rango_de_trabajo.Count If rango_de_trabajo.Cells(i).Value = criteria Then outcome = outcome & Separator &merge_range.Cells(i).Value End If Next i If outcome "" Then outcome = VBA.Mid(outcome, VBA.Len(Separator) + 1) End If MultipleValues = outcome Exit Function End Function
4. Ahora, vaya a su hoja de cálculo. A continuación, escriba la siguiente fórmula en Celda F5 :
=ValoresMúltiples(B5:B13,E5,C5:C13,",")
5. A continuación, pulse ENTRAR.
6. Por último, arrastre el icono Mango de relleno sobre el rango de celdas F6:F7.
Al final, hemos utilizado VLOOKUP varios valores en una celda .
Más información: VLOOKUP para Devolver Múltiples Valores Horizontalmente en Excel
2.2 Códigos VBA para BUSCAR Múltiples Valores en una Celda (Sin Duplicados)
📌 PASOS
1. Primero. Pulse Alt+F11 para abrir el Editor de Visual Basic.
2. A continuación, haga clic en Insertar> Módulo .
3. A continuación, escriba el siguiente código:
Function ValuesNoDup(target As String, search_range As Range, ColumnNumber As Integer) Dim i As Long Dim outcome As String For i = 1 To search_range.Columns(1).Cells.Count If search_range.Cells(i, 1) = target Then For J = 1 To i - 1 If search_range.Cells(J, 1) = target Then If search_range.Cells(J, ColumnNumber) = search_range.Cells(i, ColumnNumber) Then GoTo Skip End If End If Next J outcome =outcome & " " & search_range.Cells(i, ColumnNumber) & "," Skip: End If Next i ValuesNoDup = Left(outcome, Len(outcome) - 1) End Function
4. Después de insertar el código, haga clic en Herramientas> Referencias en la ventana abierta de Microsoft Visual Basic para Aplicaciones, y luego, en la ventana desplegada Referencias - VBAProject, marque la casilla Tiempo de ejecución de secuencias de comandos de Microsoft en el Referencias disponibles Haga clic en OK .
5. Ahora, vaya a su hoja de cálculo y escriba la siguiente fórmula en Celda F5 :
=ValoresNoDup(E5,B5:B13,2)
Aquí, 2 es el número de columna del conjunto de datos.
6. A continuación, pulse Entre en .
7. Por último, arrastre el Asa de llenado icono sobre el rango de celdas F6:F7.
Como puede ver, hemos utilizado VLOOKUP varios valores en una celda sin duplicados.
Más información: Cómo hacer VLOOKUP y Devolver Múltiples Valores en Excel (8 Métodos)
Conclusión
Para concluir, espero que este tutorial te ayude a vlookup múltiples valores en una celda en Excel. Descarga el libro de práctica y pruébalos tú mismo. Seguro que desarrollarás tus conocimientos de Excel. Además, siéntete libre de dar tu opinión en la sección de comentarios. Tu valiosa opinión nos mantiene motivados para crear muchos artículos como estos. No olvides visitar nuestro sitio web ExcelWIKI para problemas y soluciones relacionados con Excel.