¿Cómo enumerar o generar todas las combinaciones posibles en Excel?
Digamos, tengo las siguientes dos columnas de datos, y ahora, quiero generar una lista de todas las combinaciones posibles basadas en las dos listas de valores como se muestra en la captura de pantalla de la izquierda. Tal vez, puede enumerar todas las combinaciones una por una si hay pocos valores, pero, si hay varias columnas con valores múltiples necesarios para enumerar las combinaciones posibles, aquí hay algunos trucos rápidos que pueden ayudarlo a lidiar con este problema en Excel .
Enumere o genere todas las combinaciones posibles de dos listas con fórmula
Enumere o genere todas las combinaciones posibles a partir de tres o más listas con código VBA
Enumere o genere todas las combinaciones posibles de dos listas con fórmula
La siguiente fórmula larga puede ayudarlo a enumerar todas las combinaciones posibles de dos valores de listas rápidamente, haga lo siguiente:
1. Ingrese o copie la fórmula a continuación en una celda en blanco, en este caso, la ingresaré en la celda D2 y luego presionaré Participar clave para obtener el resultado, vea la captura de pantalla:
2. Luego, seleccione la celda D2 y arrastre el controlador de relleno hacia las celdas hasta obtener las celdas en blanco, y todas las combinaciones posibles se enumeran en función de los valores de las dos listas. Ver captura de pantalla:
Enumere o genere todas las combinaciones posibles a partir de tres o más listas con código VBA
Tal vez la fórmula anterior sea algo difícil de aplicar, si hay datos de varias columnas, será problemático modificarla. Aquí, presentaré un código VBA para tratarlo rápidamente.
1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.
Código VBA: genere todas las combinaciones de 3 o múltiples columnas
Sub ListAllCombinations()
'Updateby Extendoffice
Dim xDRg1, xDRg2, xDRg3 As Range
Dim xRg As Range
Dim xStr As String
Dim xFN1, xFN2, xFN3 As Integer
Dim xSV1, xSV2, xSV3 As String
Set xDRg1 = Range("A2:A5") 'First column data
Set xDRg2 = Range("B2:B4") 'Second column data
Set xDRg3 = Range("C2:C4") 'Third column data
xStr = "-" 'Separator
Set xRg = Range("E2") 'Output cell
For xFN1 = 1 To xDRg1.Count
xSV1 = xDRg1.Item(xFN1).Text
For xFN2 = 1 To xDRg2.Count
xSV2 = xDRg2.Item(xFN2).Text
For xFN3 = 1 To xDRg3.Count
xSV3 = xDRg3.Item(xFN3).Text
xRg.Value = xSV1 & xStr & xSV2 & xStr & xSV3
Set xRg = xRg.Offset(1, 0)
Next
Next
Next
End Sub
3. Entonces presione F5 para ejecutar este código, y todas las combinaciones de las 3 columnas se generarán a la vez, vea la captura de pantalla:
Enumere o genere todas las combinaciones posibles a partir de múltiples listas con una característica poderosa
Si hay varias listas de valores, es necesario enumerar las posibles combinaciones, tal vez le resulte difícil modificar el código. Aquí, puedo recomendar una herramienta poderosa: Kutools for Excel, contiene una función útil Listar todas las combinaciones que puede enumerar rápidamente todas las combinaciones posibles basadas en listas de datos dadas.
Después de instalar Kutools for Excel, haz lo siguiente:
1. Haga Clic en Kutools > recuadro > Listar todas las combinaciones, ver captura de pantalla:
2. En la Listar todas las combinaciones cuadro de diálogo, realice las operaciones como se muestra a continuación:
3. Luego, todos los valores y separadores especificados se enumeran en el cuadro de diálogo, vea la captura de pantalla:
4.Y luego haga clic en Ok , y aparecerá un cuadro emergente para recordarle que seleccione una celda para generar el resultado, vea la captura de pantalla:
5. Hacer clic OK, todas las combinaciones posibles basadas en las listas dadas se han generado en la hoja de trabajo como se muestra en la siguiente captura de pantalla:
¡Haga clic para descargar Kutools para Excel ahora!
Artículos más relativos:
- Genere todas las combinaciones de 3 o varias columnas
- Supongamos que tengo 3 columnas de datos, ahora quiero generar o enumerar todas las combinaciones de los datos en estas 3 columnas como se muestra a continuación. ¿Tiene algún buen método para resolver esta tarea en Excel?
- Encuentre todas las combinaciones que sean iguales a una suma dada
- Por ejemplo, tengo la siguiente lista de números, y ahora, quiero saber qué combinación de números en la lista suman 480, en la siguiente captura de pantalla que se muestra, puede ver que hay cinco grupos de combinaciones posibles que suman iguales a 480, como 300 + 60 + 120, 300 + 60 + 40 + 80, etc. En este artículo, hablaré sobre algunos métodos para encontrar qué celdas suman un valor específico en Excel.
- Genere o enumere todas las permutaciones posibles
- Por ejemplo, tengo tres caracteres XYZ, ahora quiero enumerar todas las posibles permutaciones basadas en estos tres caracteres para obtener seis resultados diferentes como este: XYZ, XZY, YXZ, YZX, ZXY y ZYX. En Excel, ¿cómo podría generar o enumerar rápidamente todas las permutaciones basadas en diferentes números de caracteres?
- Genere una lista de todas las combinaciones posibles de 4 dígitos
- En algunos casos, es posible que necesitemos generar una lista de todas las combinaciones posibles de 4 dígitos del número 0 al 9, lo que significa generar una lista de 0000, 0001, 0002… 9999. Para resolver rápidamente la tarea de la lista en Excel, le presento algunos trucos.
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!