Saltar al contenido

Recommended Posts

publicado

Hola! soy nuevo en este foro, Llevo un mes dándole vueltas y no encuentro la solución.

Quiero hacer una calculadora que me tiendo el nombre de los participantes me calcule de forma aleatoria los partidos. Cumpliendo estos requisitos:

12 hombres y 12 mujeres disputan un torneo de pádel mixto
 
Cada participante juega 11 partidos de tal forma que jugará:
 
Con 11 mujeres distintas contra los 11 hombres y 11 mujeres (distintas entre sí)
 
Según mis cálculos se jugarían 66 partidos.  
 
No se ni por donde empezar. Gracias de antemano
publicado

No se acaba de ver, solo un ejemplo: 12 hombre+12 mujeres son 24 participantes, si cada participante juega 11 partidos, 24 por 11 son 264 partidos, lo que contradice las siguientes afirmaciones.

Dicho lo cual, mejor subes un archivo, por ejemplo 4 hombres y 4 mujeres,  a ver si se ve más claro lo que pretendes.

publicado
hace 19 horas, Antoni dijo:

No se acaba de ver, solo un ejemplo: 12 hombre+12 mujeres son 24 participantes, si cada participante juega 11 partidos, 24 por 11 son 264 partidos, lo que contradice las siguientes afirmaciones.

Dicho lo cual, mejor subes un archivo, por ejemplo 4 hombres y 4 mujeres,  a ver si se ve más claro lo que pretendes.

Cada partido lo juegan 4 personas al ser mixto chica 1 y chico 2 vs chica 3 y chico 4 por eso  son 264/4= 66 partidos resultantes. de todas maneras preparo y subo un excel

publicado (editado)
hace 18 horas, Israel Cassales dijo:

Había escrito un listado de paso a paso buscando ayudar a pesar de la falta de libro de ejemplo pero como menciona el consultante que no tiene idea de cómo empezar, y yo fui creando el ejemplo para ir validando mi descripción, así que mejor comparto el libro.

Nota: Esto es solo una idea considerando 144 partidos, si son los 264 que menciona el maestro @Antoni se tendría que adaptar un poco.

Bueno es con lo que puedo participar en este tema.

Saludines

@oscarfm Como bien recomendó el maestro, para futuras consultas se recomienda que el libro de ejemplo lo proporcione usted.

AYUDA EXCEL.xlsb 19.21 kB · 1 descarga

Tiene muy buena pinta el excel. Creo que no me expliqué bien son partidos de pádel  mixtos de 4 jugadores. Chico 1 y Chica1 vs Chico 2 y Chica2  

De tal forma que:

Cada participante juega 11 partidos con 11 mujeres distintas contra los 11 hombres y 11 mujeres (distintas entre sí)

 

Adjunto un fichero pero no se si servirá de mucho. Perdonad pero no se por donde empezar

Mixto.xlsx

Editado el por oscarfm
publicado
Hace 1 hora, oscarfm dijo:

Cada partido lo juegan 4 personas al ser mixto chica 1 y chico 2 vs chica 3 y chico 4 por eso  son 264/4= 66 partidos resultantes. de todas maneras preparo y subo un excel

No se si te servirá de mucho, es que no se ni por donde empezar.

Muchas gracias!!

Mixto.xlsx

publicado
hace 3 horas, Israel Cassales dijo:

Hola! el  revisado el excel... he encontrado que repite parejas.

Te pongo un ejemplo para explicarme mejor. Imaginemos que el somos el Hombre_01.

Mis partidos serian:

Jugaría con 11 chicas distintas (de las 12 que hay)

HOMBRE_01 y MUJER_01
HOMBRE_01 y MUJER_02
HOMBRE_01 y MUJER_03
HOMBRE_01 y MUJER_04
HOMBRE_01 y MUJER_05
HOMBRE_01 y MUJER_06
HOMBRE_01 y MUJER_07
HOMBRE_01 y MUJER_08
HOMBRE_01 y MUJER_09
HOMBRE_01 y MUJER_10
HOMBRE_01 y MUJER_11

Contra los otros 11 HOMBRES que juegan en esos partidos con 11 mujeres (distintas entre si)

HOMBRE_02 y MUJER_02
HOMBRE_03 y MUJER_03
HOMBRE_04 y MUJER_04
HOMBRE_05 y MUJER_05
HOMBRE_06 y MUJER_06
HOMBRE_07 y MUJER_07
HOMBRE_08 y MUJER_08
HOMBRE_09 y MUJER_09
HOMBRE_10 y MUJER_10
HOMBRE_11 y MUJER_11
HOMBRE_12 y MUJER_01

Osea que un listado de los partidos del HOMBRE_01 podría ser

Partidos de HOMBRE_01
HOMBRE_01 y MUJER_01 vs HOMBRE_02 y MUJER_02
HOMBRE_01 y MUJER_02 vs HOMBRE_03 y MUJER_03
HOMBRE_01 y MUJER_03 vs HOMBRE_04 y MUJER_04
HOMBRE_01 y MUJER_04 vs HOMBRE_05 y MUJER_05
HOMBRE_01 y MUJER_05 vs HOMBRE_06 y MUJER_06
HOMBRE_01 y MUJER_06 vs HOMBRE_07 y MUJER_07
HOMBRE_01 y MUJER_07 vs HOMBRE_08 y MUJER_08
HOMBRE_01 y MUJER_08 vs HOMBRE_09 y MUJER_09
HOMBRE_01 y MUJER_09 vs HOMBRE_10 y MUJER_10
HOMBRE_01 y MUJER_10 vs HOMBRE_11 y MUJER_11
HOMBRE_01 y MUJER_11 vs HOMBRE_12 y MUJER_01

 

El tema creo que es bastante complejo, porque el sistema debe seguir creando partidos teniendo en cuenta de no repetir y que todos los participantes acaben jugado 11 partidos. No se si se me acaba de entender

 

Muchísimas gracias!!!!

 

Mixto.xlsb

publicado

Mira intente otro ejemplo:

El problema aquí no es crear esa macro que no esté considerando cada partido dos veces, ejemplo: una vez cuando el HOMBRE_01 juega con la MUJER_01 contra el HOMBRE_02 y la MUJER_02, y otra vez cuando el HOMBRE_02 juega con la MUJER_02 contra el HOMBRE_01 y la MUJER_01. Entonces sí, son efectivamente el mismo partido, por lo que deberíamos contarlos solo una vez y discriminarlos, ese considero es el detalle.

En tu caso, estás buscando un “diseño de torneo de parejas mixtas”, donde cada hombre juega con cada mujer exactamente una vez, y cada pareja juega contra cada una de las otras parejas exactamente una vez.

Esto es un problema más de matemáticas que de programación, y aunque existen algoritmos para resolverlo algunos son bastante complejos y pueden ser difíciles de implementar en VBA. Por ejemplo buscando en Internet lo tuyo se considera un problema de combinatoria y se podría resolver con un algoritmo conocido como “round-robin”, lo que habría que hacer es crearlo en VBA pero en el contexto de tu consulta sería de una manera un poco diferente. En lugar de seleccionar elementos de un grupo para procesar, estamos generando todas las combinaciones posibles de parejas de jugadores para los partidos de padel. Cada jugador juega con cada otro jugador exactamente una vez, lo cual es similar al concepto de “Round-Robin” de dar a cada elemento en un grupo una oportunidad equitativa.

Así que en el adjunto que te mando inicie con HOMBRE_01  y sus combinaciones, luego HOMBRE_02 y sus combinaciones, sería seguirlo construyendo con los 10 que hacen falta.

Pero solo es una idea, esperando te ayude a lograr lo que buscas ya que una vez entendido los ejemplos que mencionas de momento no puedo aportar algo adicional.

Mixto.xlsb

publicado
hace 12 horas, Israel Cassales dijo:

Lo que te falto explicar en el ejemplo es que pasa con la MUJER_12, ¿por qué la descansas y en su lugar entra la MUJER_01? Esas variantes cambian las posibilidades de combinaciones que puede uno poner o no en el VBA, eso es lo laborioso.

 

hace 12 horas, Israel Cassales dijo:

Mira intente otro ejemplo:

El problema aquí no es crear esa macro que no esté considerando cada partido dos veces, ejemplo: una vez cuando el HOMBRE_01 juega con la MUJER_01 contra el HOMBRE_02 y la MUJER_02, y otra vez cuando el HOMBRE_02 juega con la MUJER_02 contra el HOMBRE_01 y la MUJER_01. Entonces sí, son efectivamente el mismo partido, por lo que deberíamos contarlos solo una vez y discriminarlos, ese considero es el detalle.

En tu caso, estás buscando un “diseño de torneo de parejas mixtas”, donde cada hombre juega con cada mujer exactamente una vez, y cada pareja juega contra cada una de las otras parejas exactamente una vez.

Esto es un problema más de matemáticas que de programación, y aunque existen algoritmos para resolverlo algunos son bastante complejos y pueden ser difíciles de implementar en VBA. Por ejemplo buscando en Internet lo tuyo se considera un problema de combinatoria y se podría resolver con un algoritmo conocido como “round-robin”, lo que habría que hacer es crearlo en VBA pero en el contexto de tu consulta sería de una manera un poco diferente. En lugar de seleccionar elementos de un grupo para procesar, estamos generando todas las combinaciones posibles de parejas de jugadores para los partidos de padel. Cada jugador juega con cada otro jugador exactamente una vez, lo cual es similar al concepto de “Round-Robin” de dar a cada elemento en un grupo una oportunidad equitativa.

Así que en el adjunto que te mando inicie con HOMBRE_01  y sus combinaciones, luego HOMBRE_02 y sus combinaciones, sería seguirlo construyendo con los 10 que hacen falta.

Pero solo es una idea, esperando te ayude a lograr lo que buscas ya que una vez entendido los ejemplos que mencionas de momento no puedo aportar algo adicional.

Mixto.xlsb 19.94 kB · 0 descargas

Ante todo muchísimas gracias por todo. Investigaré la opción que me indicas. La verdad es que es un problema más complejo de lo que aparenta en un principio

publicado
hace 12 horas, Israel Cassales dijo:

Lo que te falto explicar en el ejemplo es que pasa con la MUJER_12, ¿por qué la descansas y en su lugar entra la MUJER_01? Esas variantes cambian las posibilidades de combinaciones que puede uno poner o no en el VBA, eso es lo laborioso.

Esa sería la parte aleatoria  en los partidos de cada chico hay una chica con la que no juega y otra con la que no se enfrenta. Ya que son 11 partidos y son 12 chicas

publicado
hace 1 hora, John Jairo V dijo:

¡Hola a todos!

Revisa el adjunto, donde con una fórmula matricial obtengo los 66 partidos en cuestión, sin que se repitan las parejas/enfrentamientos.  ¡Bendiciones!

Mixto.xlsx 11.23 kB · 2 descargas

IMPRESIONANTE MUCHISIMAS GRACIAS

Esto si que ha sido un regalo de REYES

ENORME!!!!!

publicado

Saludos @oscarfm...

La he mejorado un poco más, teniendo en cuenta que en los enfrentamientos anteriores, siempre se enfrentaban HOMBRE 1 con HOMBRE 2, HOMBRE 3 con HOMBRE 4 (y así sucesivamente).  Ahora, la repartición es aleatoria,  pero asegurando las mismas condiciones:  66 partidos, sin que se repitan pareja/enfrentamiento.  ¡Disfrútalo! ¡Bendiciones!

Mixto.xlsx

publicado
En 5/1/2024 at 21:55 , John Jairo V dijo:

Saludos @oscarfm...

La he mejorado un poco más, teniendo en cuenta que en los enfrentamientos anteriores, siempre se enfrentaban HOMBRE 1 con HOMBRE 2, HOMBRE 3 con HOMBRE 4 (y así sucesivamente).  Ahora, la repartición es aleatoria,  pero asegurando las mismas condiciones:  66 partidos, sin que se repitan pareja/enfrentamiento.  ¡Disfrútalo! ¡Bendiciones!

Mixto.xlsx 11.37 kB · 3 descargas

Genial!!

  • 8 months later...
publicado
En 6/1/2024 at 2:00 , John Jairo V dijo:

Me alegra que te haya gustado, @Israel Cassales.  ¡Bendiciones!

Hola de nuevo!, y si fuesen 8 chicos y 8 chicas como seria?

Gracias

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      189
    • Comentarios
      99
    • Revisiones
      29

  • Crear macros Excel

  • Mensajes

    • Hola Buenas Noches, Me podrán ayudar a resolver un problema con una planilla que tengo, les comento brevemente. Tengo un archivo que cuenta con 2 hojas, la primera se llama "Movimientos" que básicamente muestra los productos con quiebres que se presentan y la hoja "Producción" que como su nombre lo dice son las producciones de cada producto según fecha de creación. Lo que necesito es lo siguiente: Cada vez que agregue una producción en la hoja "producción", debo ingresar el código creado su cantidad y lote respetivamente, además de la fecha en que se realiza la producción, en caso que sea mayor a las 12:00 se considera PM sino AM. Lo complejo es acá en la otra hoja llamada Movimientos: Esta hoja contiene una columna que se llama "Saldo", que básicamente es la diferencia de lo producido vs el quiebre en esa fecha. Una columna llamada "Cumple", que significa que ese pedido lleva si o no el producto con quiebre. Y una columna "Se preparo", que es si el pedido se preparo o no. Lo complicado viene acá es que si la fecha de la producción que ingrese en la hoja "Produccion", se hace después de la fecha de la hoja movimientos no me debe contar esa producción para efecto de la columna Saldos, si la fecha es igual o menor si se considera y ese saldo que queda disponible se puede ocupar para futuros ingresos de pedidos. Otra conducción es que las producciones siempre se deben asignar al pedido más antiguo de ese código salvo que la fecha de entrega ya haya pasado. La columna "Cumple" es básicamente para poder generar un KPI donde me indique cuales producciones se cumplieron con el plazo y cuales No. Espero me puedan ayudar ya que tengo la siguiente formula pero no sirve ya que me toma las unidades totales y no cumple con la restricción del horario. =SUMAR.SI(Produccion!A:A; $A2; Produccion!C:C) - SUMAR.SI.CONJUNTO($E$2:$E2; $A$2:$A2; A2)) Muchas gracias. Ejemplo..xlsx
    • Hola a ambos, Prueba con: =BYROW(G5:G6;LAMBDA(x;UNIRCADENAS(" - ";1;FILTRAR(E5:E10;B5:B10=x)))) Saludos,
    • Si tienes office 365 puedes usar algo como FILTER ó TEXTJOIN y si no tienes, entonces se puede jugar con las formulas, pero no te recomiendo mucho si son muchos datos, de todas maneras te dejo una fórmula y en vba, ya tu decides cual ocupar, vale Saludos BUSCAR.xlsm
    • Buenos días mis estimados Familia ayudaexcel,  Favor quisiera solicitar su gentil soporte con lo siguiente: Necesito una formula que al buscar encuentre el valor inicial de busqueda y dea todo los resultados encontrado en una celda como ejemplo. si este producto tienes 4 cantidades esta al hacer una formula de busqueda me dea el resultado de las 4 en una celda, dejo el adjunto a espera de su gran soporte.   BUSCAR.xlsx
    • Saludos Sr @Israel Cassales espero este bien quise verificar bien su solución y que las modificaciones que hice funcionarán adecuadamente y al respecto debo decir que su aporte es excelente ya que no solo me ayudo a resolver lo que necesitada sino que también me ayudo a solventar dos cosas más por lo cual estoy muy agradecido 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.