¿Cómo listar o generar todas las combinaciones posibles en Excel?

Al trabajar con datos en Excel, es posible que se encuentre en situaciones en las que necesite generar todas las combinaciones posibles a partir de varias listas. Por ejemplo, si dispone de dos o más columnas de valores, crear manualmente todas las combinaciones puede resultar tedioso y propenso a errores, especialmente a medida que aumenta el número de elementos. En esta guía, exploraremos distintas técnicas para listar o generar rápidamente todas las combinaciones posibles en Excel.
Listar o generar todas las combinaciones posibles de dos listas mediante una fórmula
Listar o generar todas las combinaciones posibles de tres o más listas con código VBA
Listar o generar todas las combinaciones posibles de varias listas con Kutools para Excel
Listar o generar todas las combinaciones posibles de dos listas mediante una fórmula
La siguiente fórmula avanzada le permitirá generar rápidamente todas las combinaciones posibles de los valores de dos listas. Siga estos pasos:
1. Introduzca o copie la siguiente fórmula en una celda vacía; en este caso, la introduciré en la celda D2 y, a continuación, pulsaré la tecla «Intro» para obtener el resultado, tal como se muestra en la captura de pantalla:
=IF(ROW()-ROW($D$2)+1>COUNTA($A$2:$A$5)*COUNTA($B$2:$B$4),"",INDEX($A$2:$A$5,INT((ROW()-ROW($D$2))/COUNTA($B$2:$B$4)+1))&"-"&INDEX($B$2:$B$4,MOD(ROW()-ROW($D$2),COUNTA($B$2:$B$4))+1)) 
2. A continuación, seleccione la celda D2 y arrastre el controlador de relleno hacia abajo hasta que aparezcan celdas vacías. Así se mostrarán todas las combinaciones posibles según los valores de ambas listas. Vea la captura de pantalla:

Listar o generar todas las combinaciones posibles de tres o más listas con código VBA
Si le resulta complicado aplicar la fórmula anterior, especialmente con varias columnas de datos, modificarla puede volverse un reto. En estos casos, un código VBA ofrece una solución más rápida y flexible.
1. Mantenga pulsadas las teclas «ALT + F11» para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en «Insertar» > «Módulo» y pegue el siguiente código en la ventana del módulo.
Código VBA: Generar todas las combinaciones de 3 o más 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. A continuación, pulse la tecla "F5" para ejecutar este código y, de inmediato, se generarán todas las combinaciones de las tres columnas, tal como se muestra en la captura de pantalla:

Listar o generar todas las combinaciones posibles de varias listas con Kutools para Excel
Si dispone de varias listas de valores y necesita generar todas sus combinaciones posibles, modificar el código puede resultarle complicado. En ese caso, le recomiendo una herramienta potente: **Kutools para Excel**, que incluye una práctica función llamada **«Listar todas las combinaciones»**, capaz de generar rápidamente todas las combinaciones posibles a partir de las listas de datos que proporcione.
1. Haga clic en «Kutools» > «Insertar» > «Listar todas las combinaciones», tal como se muestra en la captura de pantalla:

2. En el cuadro de diálogo «Listar todas las combinaciones», realice las operaciones que se muestran en la siguiente demostración:

3. Entonces, todos los valores especificados y los separadores ya estarán incluidos en el cuadro de diálogo, tal como se muestra en la captura de pantalla:

4. A continuación, haga clic en el botón «Aceptar» y aparecerá un cuadro emergente que le recordará seleccionar una celda para mostrar el resultado, tal como se muestra en la captura de pantalla:

5. Haga clic en «Aceptar» y se generarán automáticamente en la hoja de cálculo todas las combinaciones posibles basadas en las listas proporcionadas, tal como se muestra en la siguiente captura de pantalla:

Kutools para Excel: potencie Excel con más de 300 herramientas esenciales, agilice y simplifique su trabajo, y aproveche las funciones de IA para un procesamiento de datos más inteligente y una mayor productividad.Consígalo ahora
Más artículos relacionados:
- Generar todas las combinaciones de 3 o más columnas
- Supongamos que tengo tres columnas de datos y quiero generar o listar todas las combinaciones posibles de los valores de estas tres columnas, tal como se muestra en la siguiente captura de pantalla. ¿Conoce algún método eficaz para realizar esta tarea en Excel?
- Encontrar todas las combinaciones cuya suma sea un valor determinado
- Por ejemplo, tengo la siguiente lista de números y quiero saber qué combinación de ellos suma 480. En la captura de pantalla siguiente puede ver que existen cinco grupos posibles cuya suma es exactamente 480, como 300 + 60 + 120, 300 + 60 + 40 + 80, etc. A continuación, explico algunos métodos para identificar en Excel qué celdas suman un valor específico.
- Generar o listar todas las permutaciones posibles
- Por ejemplo, tengo tres caracteres: XYZ, y quiero listar todas las permutaciones posibles con ellos para obtener seis combinaciones distintas: XYZ, XZY, YXZ, YZX, ZXY y ZYX. En Excel, ¿cómo puedo generar o listar rápidamente todas las permutaciones a partir de un número variable de caracteres?
- Generar una lista de todas las combinaciones posibles de 4 dígitos
- En algunos casos, puede ser necesario generar una lista con todas las combinaciones posibles de 4 dígitos entre el 0 y el 9, es decir, desde 0000 hasta 9999. Para resolver esta tarea rápidamente en Excel, a continuación le presento algunos trucos útiles.
Las mejores herramientas de productividad para Office
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 su productividad y Ahorrar tiempo.Haga clic aquí para obtener 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 dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado 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