Saltar al contenido

Combinaciones sin repetición


Invitado Cacho R

Recommended Posts

publicado

Hola! Amigos.

Las combinaciones sin repetición (o combinaciones, "a secas") de n elementos distintos tomados de a m, son los distintos grupos de m elementos que se pueden formar con los n elementos que tenemos.

Los grupos no se diferencian entre sí por el orden de colocación de sus elementos, sino porque sus elementos integrantes no son los mismos.

Dicho lo anterior, adjunto una forma de obtener todas las combinaciones posibles de "n" elementos tomados de a "m".

El límite de combinaciones posibles para este modelo es el total de filas de la hoja.

Sin embargo, y de ser necesario, es posible modificar -ligeramente- la macro para "estirar" ese límite a la cantidad total de celdas de la hoja, menos 4 columnas.

Saludos, Cacho R. :victorious:

Combinaciones NxM.rar

  • 4 weeks later...
publicado

Saludos Cacho R, simplemente Genial, Genial y Genial, es increíble que el aporte lo colgaras desde el día 16 de septiembre y no me haya dado cuenta hasta hoy, a mi en particular me servirá de muchísimo, entre otras cosas por la oportunidad de escoger el tamaño de las combinaciones, de hecho (si me lo permites) pues abriré un tema sobre algo que necesito que se parece mucho a tu gran aporte, lo que no se si has visto alguno de mis post, mi experiencia de Excel es muy, muy baja.

Cacho R te estoy eternamente agradecido por este aporte, de seguro podre trabajar mucho con el.

Un Cordial Saludo

Lázaro

  • 8 months later...
publicado

AAAAAHHHHH!!!!!!!! es hermoso muchisimas gracias lo eh estado buscando muchisimas gracias de nuevo este ejercicio es para mi una salvacion de la escuela necesitaba calcular sin hacerlo a mano tarea que profe nos pidio gracias amigo

Invitado Cacho R
publicado

Ya que lo vas a utilizar en una tarea escolar: ¡No aceptaremos que obtengas menos que la nota máxima!...

(jajajajaja)

  • 4 months later...
publicado

Muy Buenas me ha sido muy útil esta información, y lo agradezco enormemente. mas aún tengo una duda y me gustaría mucho si pudiera solucionarla, es que me gustaria usar estas combinaciones pero permitiendo algunas repeticiones pero restringidas. Me explico: necesito usar este macro para extraer todas las posibles combinaciones de 5 X 3 pero permitiendo que se repitan sólo dos de las tres. Ejemplo dados 1,2,3,4,5. hallar las combinaciones en ternas 123,124,125...etc pero permitiendo que puedan salir 112, o 225, etc. Espero haber sido lo sificientemente claro de ante mano les doy las gracias si es posible encontrar solución ha esta circunstancia.

publicado

Hola hjaguen

Bienvenido al Foro

Te recomiendo que abras un Tema en el SubForo de Macros con tu duda, aquí solo es para Ideas y Aportes, por lo general no se responden preguntas.

Saludos

Lázaro

  • 2 months later...
  • 3 months later...
publicado

Hola:

Con el permiso del Gran Cacho, me he atrevido a modificar su macro para que sea capaz de soportar un nº prácticamente ilimitado de combinaciones. (Nº total de elementos * Nº de elementos de cada combinación = 17.000.000.000 Aprox).

He conseguido una velocidad razonablemente soportable. (1.000.000 combinaciones/minuto en un proceso de 45 elementos tomados de 6 en 6).

Saludos

Combinaciones CACHO_ R II.zip

publicado

Hola de nuevo:

A base de juntar los elementos de cada combinación en una sola columna, he conseguido aumentar el rendimiento en un 40%, es decir, en el ejemplo del post anterior se ha pasado de 1.000.000 combinaciones/minuto a 1.400.000 combinaciones/minuto.

También he añadido la posibilidad de informar el número máximo de filas en que queremos obtener el resultado.

Hasta la próxima.

Combinaciones CACHO_ R III.zip

  • 1 month later...
publicado

Hola:

Te subo la versión 2003 a ver si tienes mas suerte, ya está parámetrizado para combinar 49 elementos tomados de 6 en 6.

Solo has de pulsar el botón, ................. si se deja.

En mi PC ha tardado un total de 23 minutos para generar los casi 14.000.000 de combinaciones.

Saludos

Combinaciones CACHO_ R III.xls

  • 1 month later...
publicado

Hola Macro Antonio te pido el favor que me colabores, necesito el mismo macro de Cacho pero que tenga mas filas tal cual como el de el... sinceramente es que el qu elaboraste es muy eficiente pero no me permite realizar operaciones entre los datos de cada combinación y es para esto que lo necesito.

Agradezco tu amable y genial colaboración

publicado

Excelente aporte! En mi maquina solo tomo 24 segundos con la tercera version!

Solo como curiosidad y saliendome del tema principal de este foro... en ruby esto se pudo haber echo asi:


inicio = Time.now #se toma el tiempo de inicio
datos = (1..33).to_a #se crea un arrar con los numeros del 1 al 33
datos.combination(6) {|x| puts x.join(",")} #se mandan a imprimir las combinaciones (6 elementos en este caso)
fin = Time.now #se toma el tiempo de termino
puts inicio, fin #se imprimen los tiempos
[/PHP]

Eso si, es muy lento (tanto que me desespere y detuve el script), pero... si se redirecciona la salida a un archivo solo toma 10 segundos!

Saludos!

  • 1 month later...
publicado

:glee:Heeey soy nuevo en esto, y cuando le doy al botón generar me dispara el error :loyal:

'' Se ha producido el error '1004' en tiempo de ejecución ''

'' error definido por la aplicación o el objeto ''

por favor alguien me podría ayudar????

gracias de ante manos:encouragement:

  • 9 months later...
publicado

consulta

que linea de la macro explica que cuando hagan combinaciones , no combine elementos repetidos

para poder enterderla mejor

saludos

gracias a todos

  • 3 months later...
publicado

Alguien me puede decir como hacer lo mismo que Cacho pero en orden. Es decir:

Sin Orden-> Para 30 valores agrupándolos de 3 en 3 y sin repetir me devuelve 4.060 objetos.

En Orden -> Para 30 valores agrupándolos de 3 en 3 y sin repetir me devuelve 24.360 objetos.

Quiero crear la de "En Orden"

Gracias y un saludo!

  • 1 year later...
publicado

para lo que yo necesito esta macro no veo la forma de retocarla, para que en B me deje meter la cantidad de numeros que yo quiera 5,6,8,20 ect...

Y bueno de paso poder darme la opcion de las combinaciones de los numeros agrupados en 3,4,5,6,8

Un Saludo.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.