martes, 30 de octubre de 2012

Generar Aleatorios que Sumen una Cifra Objetivo

"Necesito generar números aleatorios que sumen una cifra concreta ¿Es esto posible?"

Por supuesto que es posible. La solución es muy sencilla y muy similar a la planteada en mi post "Asignar % Aleatorio que Sume 100%", pero como tengo varios mails con esta pregunta aquí va la solución.

Supongamos que queremos generar, por ejemplo, 10 números aleatorios cuya suma resulte 75. Partimos del siguiente ejemplo:


En el rango E3:E12 vamos a generar los 10 números aleatorios. Para ello seleccionamos dicho rango y con el rango seleccionado escribimos en la barra de fórmulas:
 =ALEATORIO()    y terminamos pulsando Ctrl + Enter.

Nos situamos ahora en C14 y escribimos: =SUMA(C3:C12)   que será la comprobación de que los 10 números suman nuestra suma objetivo (en este ejemplo debe sumar 75).

Finalmente nos situamos en la celda C3 y escribimos la fórmula:
=(E3/SUMA($E$3:$E$12))*$C$1

Copiamos esta fórmula desde C3 hasta C12 y problema resuelto. Podemos pulsar la tecla F9 y comprobar que se generan distintas combinaciones de números aleatorios de suma 75, como vemos en los siguientes ejemplos:



También podemos cambiar la suma objetivo en C1, por ejemplo a 83, y seguirá funcionando:


9 comentarios:

  1. Muchas gracias me haz ayudado bastante

    ResponderEliminar
  2. gracias..
    pero veo que me genera numeros repetidos como seria para que no suceda eso

    ResponderEliminar
  3. Como puedo hacer para que no me de decimales? por favor

    ResponderEliminar
    Respuestas
    1. Tenemos que hacer una "pequeña trampa". La fórmula original:
      =(E3/SUMA($E$3:$E$12))*$C$1 la convertimos en:
      =TRUNCAR((E3/SUMA($E$3:$E$12))*$C$1) y la copiamos hasta el penúltimo valor (en nuestro ejemplo hasta C11). Utilizamos ahora el último valor para cuadrar la ecuación (en nuestro ejemplo en la celda C12) escribiendo la fórmula:
      =C1-SUMA(C3:C11)

      Eliminar
  4. como hago para que me de el promedio deseado y la desviacion deseada; por ejemplo; quiero que los valores me arrojen un promedio de 500, pero que el valor minimo no sea inferior a 498 y el valor maximo no mayor de 504?

    ResponderEliminar
  5. como puedo hacer para que entre esos numeros no haya una diferencia entre uno y otro tan grande

    ResponderEliminar
    Respuestas
    1. Creo que este post te puede ayudar...
      http://lareboticadeexcel.blogspot.com.es/2015/11/aleatorios-acotados-con-promedio.html
      Un saludo

      Eliminar
  6. como hacer para que 6 números aleatorios enteros positivos, si que se repitan de 1 a 45 sumen 250 y tambien para un rango de terminado como 100 a 200 en excel

    ResponderEliminar