Note: The other languages of the website are Google-translated. Back to English

¿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 a partir de múltiples listas con una característica poderosa


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é Enviar clave para obtener el resultado, vea 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))

Nota:: En la fórmula anterior, $ A $ 2: $ A $ 5 es el rango de los valores de la primera columna, y $ B $ 2: $ B $ 4 es el rango de los valores de la segunda lista que desea enumerar todas sus combinaciones posibles, el $ D $ 2 es la celda en la que le pones la fórmula, puedes cambiar las referencias de celda a tu necesidad.

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
Nota:: En el código anterior, A2: A5, B2: B4, C2: C4 son el rango de datos que desea utilizar, E2 es la celda de salida en la que desea ubicar los resultados. Si desea obtener todas las combinaciones de más columnas, cambie y agregue otros parámetros al código según sus necesidades.

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.

Consejos:Para aplicar esto Listar todas las combinaciones función, en primer lugar, debe descargar la Kutools for Excely, a continuación, aplique la función de forma rápida y sencilla.

Después de instalar Kutools for Excel, haz lo siguiente:

1. Presione 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

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

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!
officetab parte inferior

 

Comentarios (42)
5 clasificado de 5 · 1 calificaciones
Este comentario fue minimizado por el moderador en el sitio
¡Esta es una fórmula brillante! No tengo idea de cómo funciona, pero solo cambio las columnas A y B para que coincidan con la longitud de mis listas y tengo mi salida en D1.
Este comentario fue minimizado por el moderador en el sitio
ejemplo: mi lista de valores es 1,2,3,4,5,6......80, quiero que kutool muestre todas las combinaciones de un conjunto de 2 números, ejemplo: 1-2, 1-3, 1-4 , 1-5 , .................79-80 . ¿Es esto posible con KUTOOL?
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de hacer que esta fórmula funcione donde produce las diversas combinaciones aún separadas en 2 columnas separadas, pero adyacentes entre sí?
Este comentario fue minimizado por el moderador en el sitio
¿Has tenido suerte averiguando cómo hacer esto? Estoy tratando de hacer exactamente lo mismo y tengo todas mis probabilidades en 2 columnas separadas en Excel.
Este comentario fue minimizado por el moderador en el sitio
¿Ya has tenido suerte con esto? Estoy tratando de hacer lo mismo y tener todas las combinaciones posibles una al lado de la otra en 2 columnas separadas.
Este comentario fue minimizado por el moderador en el sitio
¿Puedo obtener la fórmula para todas las combinaciones de una matriz de 5 * 5 (5 filas y 5 columnas) que intenté pero no pude obtener, por favor, ayúdenme ...
Este comentario fue minimizado por el moderador en el sitio
MUY ÚTIL. Ahora puedo generar combinaciones muy fácilmente.
Este comentario fue minimizado por el moderador en el sitio
¿Cómo podría usar KuTools, o incluso una fórmula, si quisiera todas las permutaciones del encabezado Mes? ene, ene y feb, ene y mar, ene y mar, ene y feb y mar, etc etc
Este comentario fue minimizado por el moderador en el sitio
¿Alguien sabe cómo modificar esto para reflejar 6 columnas de datos, en lugar de solo dos?
Este comentario fue minimizado por el moderador en el sitio
buscando lo mismo. ¿nadie sabe?
Este comentario fue minimizado por el moderador en el sitio
¿Alguien sabe cómo modificar esto para reflejar 6 columnas de datos?
Este comentario fue minimizado por el moderador en el sitio
Para más columnas:
La primera parte de la fórmula debe modificarse para multiplicar todas las posibilidades, por ejemplo, esto sería para 6 columnas.
COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
así que estás agregando
*COUNTA(SuRangoAquí)
para cada columna
La segunda parte de la fórmula también debe modificarse para cada columna de la siguiente manera:
INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)
así que estás agregando
&ÍNDICE(SuRangoAquí,MOD(ROW()-ROW($I$2),COUNTA(SuRangoAquí))+1)

Así que póngalos todos juntos y obtendrá este ejemplo para 6 columnas:

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

Donde pegaría esta fórmula en $I$2 y buscaría en $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... hasta $F$2:$F$9
Este comentario fue minimizado por el moderador en el sitio
esto no funciona :( mas complicado que esto
Este comentario fue minimizado por el moderador en el sitio
Para más columnas:
La primera parte de la fórmula debe modificarse para multiplicar todas las posibilidades, por ejemplo, esto sería para 6 columnas:

COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9)
así que estás agregando
*COUNTA(SuRangoAquí)
para cada columna

La segunda parte de la fórmula también debe modificarse para cada columna de la siguiente manera:

INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1)

así que estás agregando

&ÍNDICE(SuRangoAquí,MOD(ROW()-ROW($I$2),COUNTA(SuRangoAquí))+1)

Así que póngalos todos juntos y obtendrá este ejemplo para 6 columnas:

=IF(ROW()-ROW($I$2)+1>COUNTA($A$2:$A$9)*COUNTA($B$2:$B$9)*COUNTA($C$2:$C$9)*COUNTA($D$2:$D$9)*COUNTA($E$2:$E$9)*COUNTA($F$2:$F$9),"",INDEX($A$2:$A$9,MOD(ROW()-ROW($I$2),COUNTA($A$2:$A$9))+1)&INDEX($B$2:$B$9,MOD(ROW()-ROW($I$2),COUNTA($B$2:$B$9))+1)&INDEX($C$2:$C$9,MOD(ROW()-ROW($I$2),COUNTA($C$2:$C$9))+1)&INDEX($D$2:$D$9,MOD(ROW()-ROW($I$2),COUNTA($D$2:$D$9))+1)&INDEX($E$2:$E$9,MOD(ROW()-ROW($I$2),COUNTA($E$2:$E$9))+1)&INDEX($F$2:$F$9,MOD(ROW()-ROW($I$2),COUNTA($F$2:$F$9))+1))

Donde pegaría esta fórmula en $I$2 y buscaría en $A$2:$A$9 $B$2:$B$9 $C$2:$C$9 ... hasta $F$2:$F$9
Este comentario fue minimizado por el moderador en el sitio
esto no funciona :( mas complicado que esto
Este comentario fue minimizado por el moderador en el sitio
¿Alguna idea de cómo agregar un espacio en el medio?
Este comentario fue minimizado por el moderador en el sitio
Hola, Eoin,
la fórmula en este artículo no puede ayudarlo a agregar un espacio entre los valores de celda, pero puede aplicar Kutools for Excel, con él, puede escribir cualquier delimitador que desee para separar el resultado combinado, vea la captura de pantalla:
Este comentario fue minimizado por el moderador en el sitio
Puede agregar un espacio agregando " "& antes de indexar la columna B, justo después del & existente, así...

=IF(ROW()-ROW($D$1)+1>COUNTA($A$1:$A$4)*COUNTA($B$1:$B$3),"",INDEX($A$1:$A$4,INT((ROW()-ROW($D$1))/COUNTA($B$1:$B$3)+1))&" "&INDEX($B$1:$B$3,MOD(ROW()-ROW($D$1),COUNTA($B$1:$B$3))+1))


....o cualquier otro delimitador que te guste!
Este comentario fue minimizado por el moderador en el sitio
¿KuTools puede ordenar celdas en una fila en una forma de "combinación simple"?
Es decir, si tengo estos datos:
_________________________
John Jack Paul Macy

marca larry

Jerry Paul María

sam jeff peter lucas
_________________________



Y quiero mostrarlos así:
___________
Juan Jack

Juan Pablo

Juan Macy

Jack Pablo

Jack Macy

Pablo Macy

marca larry

jerry pablo

jerry casarse

Pablo María

jeff sam

sam pedro

sam lucas

jeff pedro

jeff lucas

pedro lucas
____________


¿Cómo puedo hacer esto? ¿Puede KuTools hacer algo como esto?

¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola, Arturo,
Lo sentimos, Kutools no puede ayudarlo a resolver este trabajo como dijo.
Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
¿Alguien ha descubierto una fórmula para hacer esto para 5 conjuntos de datos? He estado perplejo en esto hasta ahora.
Este comentario fue minimizado por el moderador en el sitio
Hola Marco,
Kutools puede ayudarlo a resolver su problema rápidamente, verifique la siguiente captura de pantalla:
Por favor, pruébalo, espero que te pueda ayudar, ¡gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola,
¿Quiero saber qué hacer si quiero generar más de 1,4 millones de combinación y excedo el límite de filas de Excel?
¿Hay alguna manera de poner Kudos para continuar su iteración en la siguiente columna?
Este comentario fue minimizado por el moderador en el sitio
¿Por qué mi fórmula no funcionó para crear 25 combinaciones en la Columna E (5 elementos de la Col A * 5 elementos de la Col B)? ¿Mientras que la fórmula en este artículo funcionó en la Columna D cuando la arrastré por 25 celdas? Captura de pantalla - https://prnt.sc/ihwr18
Este comentario fue minimizado por el moderador en el sitio
Hola me arroja una referencia circula la formula
=SI(FILA()-FILA($D$1)+1>(CONTARA($A$1:$A$4)*CONTARA($B$1:$B$3));"";INDICE($A$1:$A$4;RESIDUO((FILA()-FILA($D$1));COUNTA($B$1:$B$3)+1))
&INDICE($B$1:$B$3;RESIDUO(FILA()-FILA($D$1);CONTARA($B$1:$B$3))+1))
Este comentario fue minimizado por el moderador en el sitio
Hola, y si estas combinaciones en lugar de texto son números, ¿cómo puedo hacer el cálculo de los resultados? trato de agregar el "+" pero Excel no sabe que es el símbolo ... ¿cómo resuelves esto?
Este comentario fue minimizado por el moderador en el sitio
Usé las extensiones y funciona fantástico, pero ahora tengo un problema, necesito calcular la suma, pero el resultado es un texto, ingreso un separador que es el símbolo +, pero finalmente tengo un texto y es imposible de convertir en una operación.
Este comentario fue minimizado por el moderador en el sitio
Casi muy práctico. Sería bueno si realmente usara lo que está en la celda ($ A $ 1) y no convirtiera la celda en texto. Entonces podría simplemente pegar lo que necesito en A1 y ejecutarlo nuevamente sin tener que cambiar nada.
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de generar esto como un archivo txt? Cuando tiene millones de resultados en la columna D, no es exactamente práctico arrastrar el controlador de relleno.
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL