Saltar al contenido

Combinaciones Reducidas


Lázaro

Recommended Posts

publicado

Hola a Todos.

Considero este Tema como un Pequeño/Gran Reto, supongo que no sea nada fácil, pero he buscado por varios Foros y no encuentro lo que necesito, en Internet existe alguna que otra página que si existe, pero es un poco engorroso para poder utilizarlo y te obliga a tener conexión para poder utilizarlo, aquí les explico.

Estoy enfrascado en tratar de crear mediante Formulas o Macro algo parecido a las Reducciones Matemáticas de Combinaciones, es decir que si tengo en una columna (por ejemplo la C) cierta cantidad de valores me devuelva en otras 6 columnas el resultado de las Combinaciones (de a 6 valores) que son necesarias, para que si están los 6 aciertos de la Combinación Ganadora entre los valores de la columna C me garantice al menos 4 aciertos, es decir como he leído en algún lugar una Reducción al Cuatro.

En el adjunto explico un poquitín más a donde quisiera llegar.

Como siempre, Muy Agradecido por el Tiempo/Paciencia/Conocimientos que me puedan dedicar.

Un Saludo

Lázaro.

COMBINACIONES REDUCIDAS.zip

Invitado Cacho R
publicado

Hola! Lázaro.

Tienes dos formas de hacerlo aprovechando el aporte que se encuentra en este mismo Foro llamado Combinaciones de N elementos tomados de a M.

Opción 1.

Si en la celda K6 de tu archivo introduces la fórmula MATRICIAL:

= SI(SUMA(CONTAR.SI($L$4:$Q$4; E6:J6))>3; "Cuatro o más"; "---")

y la copias hacia abajo, obtendrás cual de las combinaciones tiene cuatro o más coincidencias.

Por lo tanto utilizas aquel aporte para generar todas las combinaciones (30 x 6) y aplicando la fórmula anterior seleccionas las que te interesan.

___

Opción 2.

Así como está tu archivo, lo que vemos en las columnas H:J son las combinaciones de 27 elementos (del 4 al 30) tomados de a 3.

Por lo tanto utilizas aquel aporte para generar todas las combinaciones (27 x 3)... ¡Y listo!

___

Saludos, Cacho R.

publicado

Saludos Amigo Cacho

Bueno ya sabes mis limitaciones con Excel, así que tratare de entender a la saciedad la opción, creó es la que más se puede adaptar a mis necesidades, pero me cuesta muchísimo hacer cambios funcionales a las Formulas, a las Macros ni te cuento.

Cacho cuando me escribes del Ejemplo es el Caso Especial o el primero que tu Aportaste hace mas de un año, bueno yo bajare los dos, ya que mi Ordenador dejo de funcionar y he perdido de momento todo el Arsenal de Archivos que tenía guardado.

Un Abrazo

Lázaro.

Invitado Cacho R
publicado

Me refiero al primer aporte: al caso general, por supuesto.

Y no te compliques la vida: utiliza aquel aporte para obtener las combinaciones y cópialas y pégalas en otro lado.

Saludos, Cacho R.

publicado

Bueno Cacho como siempre me sucede, quizás no me he sabido explicar bien o no logro captar tus ideas, ya entendí lo que tú me propones por lo menos en la primera opción, pero al yo realizarlo de esta forma tengo que tener una Combinación Ganadora y mi intención es hacer el cálculo antes de que salga la Combinación Ganadora, por eso te comento que es algo distinto lo que necesito, te explico de otra forma con la intención de ver si logro explicarme mejor.

De los 49 Números de la Lotería (los Sorteos son de 6 Aciertos), yo escojo 30 de ellos y la intención es Combinar esos 30 Números de forma tal que No se repitan 4 números más de una vez, por eso en el ejemplo la primera combinación es 1,2,3,4,5,6, la segunda es 1,2,3,7,8,9, la tercera 1,2,3,10,11,12 y así el 1,2,3, hasta el 30, pero ya en el resto de la combinaciones No se deben repetir el 1,2, con los 4.5 ó 4,6, como tampoco por ejemplo el 1,3 con los 4,5 ó 4,6, es decir que No existan 4 números repetidos más de una vez, de esa forma si dentro los 30 números que yo escogí están por casualidad los 6 de la Combinación Ganadora, me garantiza por lo menos 4 Aciertos.

Cacho espero que me hayas entendido la jerigonza que te he escrito, de lo contrario me dices y lo intento de otra forma.

Un Abrazo

Lázaro.

Invitado Cacho R
publicado

Te digo, Lázaro, lo que entendí (sorry si le estoy errando por mucho) y te lo explicaré basándome en lo que ya tenemos:

- Tomo los 6 números de la combinación ganadora.

- Determino las combinaciones de esos 6 tomados de a 4 (son 15 casos).

- Por cada uno de esos 15 grupos de 4 números, debo:

a) Quitarlos del grupo de 30 (me quedarán 26)

B) Obtener las combinaciones de esos 26 tomados de a 2 (son 325 casos).

- Con ello he logrado que a cada uno de los 15 grupos de 4 números, le asocie 325 pares de números que completen el sexteto.

- De ser así las cosas, estarías buscando algo así como 15 * 325 = 4.875 grupos de 6 números.

___

Si lo anterior fuese correcto, la única tarea manual que tendrías sería seleccionar y "retirar" del grupo de 30, los 4 números del primer agrupamiento (con un CONTAR.SI ó un COINCIDIR lo haces en instantes), y deberías hacerlo 15 veces.

En resumen: tu tarea se resume a aplicar el código antes aludido 16 veces hasta obtener los 4.875 grupos...

¡No parece tan complicado!, ¿O si?

Saludos, Cacho R.

publicado

Cacho la verdad que me has dejado botado con tu explicación, has metido unas Matemáticas pa 500, cuando puse lo de la Combinación Ganadora era solo para ejemplificar/verificar cuando salieran todas las combinaciones reducidas, es decir después que se obtengan el total de combinaciones solo para verificar.

Mira subo un ejemplo donde pongo como me debería quedar las 1005 Combinaciones de una Reducción al Cuatro para 30 valores (según una Página de Internet) yo le he realizados múltiples pruebas y siempre me da que por lo menos hay un Acierto de cuatro Valores, incluso si fallaras en un valor de los 6 Aciertos en ocasiones también te da al menos un acierto de 4 valores.

De todas formas tratare de seguir estudiándome tu propuesta para ver si logro captar la idea de lo que quieres trasmitirme.

COMBINA-REDUCIDAS-2.zip

publicado

Hola Cacho

No logre al final entender tu última idea, me pierdo en el intento con los pasos a seguir, no obstante de momento he encontrado una solución (para Novatos), vincule cada celda de la columna C en el Rango E:J, en caso de que no aparezca otra idea pues me quedare con ella, desde luego algo chapucera o poco Ortodoxa, que se me complicara un poco cuando le ponga menos de 30 valores en la Columna C y no me servirá para nada si coloco más de 30 valores.

Un Abrazo Amigo

Lázaro.

COMBINA-REDUCIDAS-3.zip

Archivado

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

  • 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

    • Buenos días colegas. Espero se encuentren bien de salud. Hace algunos días comencé un nuevo proyecto para llevar la Contabilidad en un Negocio que es de mi hermano. Apenas comienzo, pero tengo varios problemas a pesar de ser Contador (pero no programador). El tema que me ocupa hoy es el siguiente: Tengo una Hoja (Plan de Cuentas) donde tengo el Catálogo, pero es necesario agregar Cuentas nuevas a medida que el Negocio avance como son Proveedores, Clientes, Bancos, Ingresos, etc... Tengo una macro que he creado, pero no me ORDENA como requiere el Catálogo, Me inserta bien los datos (Jerarquía, Numero de cuenta, Titular y Naturaleza), pero lo ordena de manera inadecuada. En el ejemplo que "subo" inserté una nueva cuenta: Jararquía: 2 Nunero: 102-03 Titulo: Bancos Mixtos Naturaleza: D Pero si se fijan, este me lo insertó (Ordenó) Fondo amarillo, debajo de la cuenta 101-01, cuando debía ser debajo de la cuenta 102-02. Todo parte del FrmCuentas (Label signo +). El código está en el Módulo5. Por favor si pudieran ayudarme. Tengo otras dudas o problemas que iré ventilando con ustedes a medida que la corriente me lo permita (acá los apagones son de 20 horas diarias). Sub InsertarCuenta() Dim wsCatalogo As Worksheet Dim ultimaFila As Long Dim nuevaCuenta As String Dim nivelCuenta As String Dim tituloCuenta As String Dim nCuenta As String Dim celda As Range Set wsCatalogo = ThisWorkbook.Sheets("Plan de Cuentas") ultimaFila = wsCatalogo.Cells(wsCatalogo.Rows.Count, 1).End(xlUp).Row nivelCuenta = InputBox("Ingrese la categoría jerárquica de la cuenta:") nuevaCuenta = InputBox("Ingrese el código de la nueva cuenta:") tituloCuenta = InputBox("Ingrese el Titulo de la Cuenta a Crear:") nCuenta = InputBox("Ingrese la Naturaleza de la cuenta:") Set celda = wsCatalogo.Range("A3:A" & ultimaFila).Find(nivelCuenta, LookAt:=xlWhole) If Not celda Is Nothing Then wsCatalogo.Rows(celda.Row + 1).Insert Shift:=xlDown wsCatalogo.Cells(celda.Row + 1, 1).Value = nivelCuenta wsCatalogo.Cells(celda.Row + 1, 2).Value = nuevaCuenta wsCatalogo.Cells(celda.Row + 1, 3).Value = tituloCuenta wsCatalogo.Cells(celda.Row + 1, 4).Value = nCuenta MsgBox "Cuenta insertada correctamente en el Catálogo.", vbInformation Else MsgBox "No se encontró la Jerarquía especificada.", vbExclamation End If End Sub Un abrazo a todos. Pino PD No me deja insertar el archivo por su tamaño... 429KB... no entiendo...
    • Que tal a todos, me permito proponer esta posible solución: =SI.ERROR(BUSCARX(B2&C2,Produccion!B$2:B$5&ENTERO(Produccion!E$2:E$5),Produccion!C$2:C$5,0)+SI.ND(BUSCAR(2,1/(B$1:B1=B2),J$1:J1),)-E2,) Espero le sea útil. Saldo dinamico (Solucion).xlsx
    • 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,
  • 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.