............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Permutaciones de un valor

Ver el tema anterior Ver el tema siguiente Ir abajo

Permutaciones de un valor

Mensaje por Alvaro_New el Sáb Dic 15, 2012 10:34 am

Hola foreros,
os pregunto porque ya estoy tirándome de los pelos, esta es mi pregunta:

Tengo una serie de valores numéricos y se que sumando algunos de ellos tienen que dar unos resultados que también poseo. Busco si hay una función que al aplicarla sobre esos datos y los resultados me diga que que valores son los que suman cada resultado, es decir que combinación es para cada uno.

He buscado pero aun así nose ni siquiera que nombre tendría lo que busco y antes que ir de una función en una por todo excel he pensado en preguntaros.

Un saludo y muchísimas gracias!

P.D.: La idea es que me dé algo así.


Alvaro_New

Masculino Cantidad de envíos : 1
Edad : 26
Ciudad - Pais : Madrid - España
Version de Excel : 2007
Fecha de inscripción : 15/12/2012

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Sáb Dic 29, 2012 5:59 pm

Hola, con funciones de Excel no lo se pero con macro creo que podría ayudar. Saludos.

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Dom Dic 30, 2012 11:28 am

Hola, adjunto una solución al tema planteado. La rutuna que genera las soluciones puede ser reemplazada por la que presenta Cacho en esta dirección:

[Tienes que estar registrado y conectado para ver este vínculo]

Espero sea de ayuda.
Archivos
Busca_soluciones_v01.xls No tienes los permisos para descargar los archivos.(46 KB) Descargado 21 veces

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por SaraTM el Mar Jul 30, 2013 4:14 am

Hola Renem:
Muy interesante tu rutina. De hecho me viene muy bien para un problema que tengo. Aunque mi problema en principio tendría 3 variables en vez de 10 y los valores estarían entre 190 y 330. He intentado modificar tu rutina pero me da errores. ¿cómo podría hacerlo?
Gracias de antemano.
Un saludo.

SaraTM

Femenino Cantidad de envíos : 3
Edad : 33
Ciudad - Pais : Logroño- España
Version de Excel : 2007
Fecha de inscripción : 30/07/2013

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Mar Jul 30, 2013 10:50 pm

Hola, dices que los 3 valores están entre 190 y 330, ¿esos tres valores están definidos de antemano?, ¿cuáles son?.

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por SaraTM el Miér Jul 31, 2013 3:18 am

Hola renem:
Gracias por tu respuesta. Voy a concretar mi caso porque después de escribirte estuve tocando tu archivo y me surgieron más problemas. En mi caso tengo tres valores, ya definidos, que son 190, 260 y 330. Mi objetivo es, introducir una cantidad y que con esos tres valores y repitiéndolos las veces que haga falta obtener la cantidad introducida. En la rutina que subiste se consigue lo mismo pero usando cada uno solamente una vez. Intenté introducir, en la tabla de números a permutar, esos tres números repetidos un número concreto de veces para poder conseguir ese objetivo pero, o me daba soluciones repetidas, o se colgaba por la gran cantidad de permutaciones posibles que tenía que ejecutar.
Por ejemplo, para conseguir 4160 tendría que multiplicar 260 por 16 veces, pero si, en la tabla pongo 16 veces 260 para conseguir que me los multiplique esas veces, la rutina se cuelga.

Espero haberme explicado con claridad.

¿Qué te parece?

Un saludo.


SaraTM

Femenino Cantidad de envíos : 3
Edad : 33
Ciudad - Pais : Logroño- España
Version de Excel : 2007
Fecha de inscripción : 30/07/2013

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por Cacho R el Miér Jul 31, 2013 8:23 pm

Hola! Sara (y renem)
Se me ocurre que si la solución pasa por una macro entonces que sean 3 o más elementos base lo que manejes, sería indiferente.

Queda claro que deseas determinar una combinación lineal de los elementos base, tal que dicha combinación resulte en el número propuesto. Por ello surgen un par de dudas:

- ¿SIEMPRE serán 3 los elementos base? ¿SIEMPRE serán 190, 260 y 330?

- ¿Qué pasa si no existe una combinación lineal que te entregue el resultado buscado (por ejemplo: con 190, 260 y 330 no es posible obtener al número 200)?

- ¿Porqué no subes al Foro tu archivo de muestra y nos lo muestras? (No está clara -para nada- la relación entre lo que estamos intercambiando y la imagen que has mostrado inicialmente). No olvides poner en tu archivo de muestra la disposición de los datos de partida y los resultantes... tal y como quieres obtenerlos.

Saludos, Cacho R.

Cacho R
Moderador
Moderador

Masculino Cantidad de envíos : 210
Ciudad - Pais : Buenos Aires
Version de Excel : Desde Multiplan (pre-Excel) hasta 2010
Fecha de inscripción : 29/06/2011

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Miér Jul 31, 2013 10:29 pm

Hola a ambos, efectivamente la rutina es de "fuerza bruta" ya que genera todas las combinaciones (2^n) para ver cual sirve. Si la queremos usar para tu ejemplo deberíamos tener 16 veces cada número (190, 260, 330), es decir n = 48, lo que significa casi 3E+14 combinaciones, imposible!. Creo que la solución va por otro lado.
Igual es un entretenido desafío, si logramos algo lo posteamos.

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por SaraTM el Jue Ago 01, 2013 12:51 pm

Si, la verdad es que el problema es más complejo que el planteado por Alvaro_New.
A las preguntas que habéis formulado:

- Sí, los elementos base siempre serán esos tres.
- Si no existe una combinación lineal que te entregue el resultado buscado pues lo ideal sería que te diera el inmediatamente menor de los correspondientes a la combinación de los 3 elementos base y el resto correspondiente. Por ejemplo, introduzco el valor 460, me daría como resultado la elección de 190 y 260 y la cantidad residual de 10 (190+260+10=460).
- La verdad es que la rutina, como comentáis, se aleja de la idea inicial de Alvaro_New, principalmente porque me han ido apareciendo problemas según iba dando forma al objetivo de la rutina. El archivo inicial que tengo es como el de renem, es de un compañero (por eso dí con este topic, porque hace la misma función) pero no sé retocarlo para adaptarlo a mi problema.
De todas formas, gracias a los dos por las molestias.
Un saludo.

SaraTM

Femenino Cantidad de envíos : 3
Edad : 33
Ciudad - Pais : Logroño- España
Version de Excel : 2007
Fecha de inscripción : 30/07/2013

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por Cacho R el Jue Ago 01, 2013 11:23 pm

¿Más complejo no lo podías plantear?...
(jajajajajaja)

La verdad, Sara, es que lo que necesitas no se parece en nada a "algo" que puedas encontrar fácilmente en los Foros de Excel. Ello es debido a que requieres la combinación lineal que mejor se acerque -por defecto- al número, dada esa base de tres valores.
Por lo tanto hay que estudiar todas las posibilidadas hasta hallar la mejor.

A manera de solución puedo mostrarte una forma de hacerlo. La verás en el enlace:

--> [Tienes que estar registrado y conectado para ver este vínculo]
Podrás ver -asimismo- que se trata de una solución más general que la que requerías. O sea:

- La base de números puede ser modificada
- La base puede estar formada de 2 o más valores

Espero que sea lo que estabas buscando.
Saludos, Cacho R.

Cacho R
Moderador
Moderador

Masculino Cantidad de envíos : 210
Ciudad - Pais : Buenos Aires
Version de Excel : Desde Multiplan (pre-Excel) hasta 2010
Fecha de inscripción : 29/06/2011

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Vie Ago 02, 2013 11:49 am

Muy buena rutina Cacho R. Una consulta: ¿qué ocurre si para un valor existe más de una solución?. Lo pregunto porque probé con 1,040 y entrega correctamente: 2*330 + 0*260 + 2*190, pero también es solución: 1*330 + 2*260 + 1*190.
Otra consulta: dónde puedo obtenber información acerca de las fórmulas que se ingresan con {}. Gracias.

Saludos.


Última edición por renem el Vie Ago 02, 2013 4:13 pm, editado 1 vez

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por Cacho R el Vie Ago 02, 2013 12:14 pm

renem escribió:Muy buena rutina Cacho R. Una consulta: ¿qué ocurre si para un valor existe más de una solución?. Lo pregunto porque probé con 1,040 y entrega correctamente: 2*330 + 0*260 + 2*190, pero también es solución: 1*330 + 2*260 + 1*190.

Saludos.
¡Sencillo!...

a) Cuando no hay una combinación lineal tal que la sumatoria resulte exacta, el procedimiento -luego de evaluar TODAS las posibilidades (esto es "gastar tiempo", ¿Verdad?)- entrega UNA combinación que más se aproxima al número en cuestión. Podría haber más de una variante que entregue esa misma diferencia, pero el planteo inicial nada mencionaba al respecto.

b) Del mismo modo, pueden haber varias combinaciones lineales tal que la sumatoria resulte exacta. El planteo inicial nada mencionaba al respecto, por lo que ante la primera coincidencia termino la búsqueda (esto es "ahorrar tiempo", ¿Verdad?).

En resumen: La base de la solución está.
Si se quieren obtener otras soluciones -naturalmente- ellas requieren "retocar" el código, y no manejarlas vía función personalizada sino mediante un procedimiento Sub.

¿Me expliqué?...
Saludos, Cacho R.

Cacho R
Moderador
Moderador

Masculino Cantidad de envíos : 210
Ciudad - Pais : Buenos Aires
Version de Excel : Desde Multiplan (pre-Excel) hasta 2010
Fecha de inscripción : 29/06/2011

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por renem el Vie Ago 02, 2013 4:14 pm

Muy bien. Gracias.

renem

Cantidad de envíos : 82
Ciudad - Pais : Santiago - Chile
Fecha de inscripción : 05/11/2008

Volver arriba Ir abajo

Re: Permutaciones de un valor

Mensaje por Contenido patrocinado Hoy a las 12:40 pm


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.