Saltar al contenido

Generación de Variables Aleatorias con Excel

noviembre 4, 2008

Por Macario Hernández Garza
Sistemas de Optimización y Estadística, S. C. Copyright © 2008. Todos los derechos reservados.

Podemos requerir valores aleatorios en las hojas de Excel en las cuales estemos trabajando. Podemos necesitar también valores aleatorios para simular algún proceso.

La función RAND() de Excel.

Dentro de las funciones para trabajar en una hoja de Excel, la función RAND(), genera números aleatorios reales con distribución uniforme en el intervalo (0,1), lo cual indica que cualquier número real entre 0 y 1 tiene la misma probabilidad de ser regresado por la función.

Si usted requiere números aleatorios reales con distribución uniforme en un intervalo más grande, por ejemplo entre 0 y 200, utilice la fórmula:

=RAND()*200

Si deseamos generar número aleatorios enteros con distribución uniforme entre 0 y 200, utilice la fórmula:

=ROUND((RAND()*200),0)

Para generar números aleatorios reales con distribución uniforme entre dos valores a y b, donde a < b, usamos:

=RAND()*(b-a)+a

Por ejemplo, para generar números aleatorios reales con distribución uniforme entre 10 y 20, usamos la fórmula:

=RAND()*(20-10)+10

Para generar números aleatorios enteros con distribución uniforme entre  los valores enteros A y B, use la fórmula:

=ROUND(RAND()*(B-A)+A,0)

Por ejemplo para generar números aleatorios enteros con distribución uniforme entre los valores enteros 75 y 90, use la fórmula:

=ROUND(RAND()*(90-75)+75,0)

La función de Excel RANDBETWEEN

Para la generación de números enteros con distribución uniforme entre dos valores enteros determinados, podemos usar la función RANDBETWEEN. Por ejemplo, la siguiente fórmula genera números aleatorios enteros entre 1 y 50:

=RANDBETWEEN(1,50)

En anteriores versiones de Excel, la función RANDBETWEEN estaba disponible solamente cuando se instalaba el add-in Analysis Toolpak. Si quiere tener compatibilidad con versiones anteriores de Excel, es mejor que utilice la fórmula anterior para generar números enteros entre A y B (donde a y B son valores enteros) que vimos anteriormente:

=ROUND(RAND()*(B-A)+A,0)

14 comentarios dejar un →
  1. noviembre 20, 2011 6:47 pm

    como hago para generar dos numeros aleatorios , pero que cuya suma sea igual a 1 , por ejemplo en una casilla me genere 0,8 y en la siguiente me genere lo que falta 0,2 alguien puede ayudarme

  2. Macario Hernández Enlace permanente*
    noviembre 21, 2011 6:45 pm

    Hola Fernanda:

    Supongamos que se van a poner las fórmulas en las celdas A1 y B1, pondrías:

    En la Celda A1, la fórmula =ALEATORIO()
    En la Celda B1, la fórmula =1-A1

    Esto si tienes la versión en Español, si tiene la versión en Inglés, en lugar de ALEATORIO(), pon RAND()

    Y solucionada la situación.

    Saludos

    Macario

  3. febrero 17, 2012 4:47 am

    Hola me gustaría saber como hacer para generar una muestra aleatoria que sólo puede tomar los valores 0 y 1, de modo que haya 70% de 0 y 30% de 1.

  4. Macario Hernández Enlace permanente*
    febrero 17, 2012 1:29 pm

    Si tienes la versión de Excel en Inglés: =IF(RAND()<=0.7,0,1)

    Para Excel en Español no estoy muy seguro (uso Excel en Inglés, pero prueba: =SI(ALEATORIO()<=0.7;0;1) (no recuerdo si el separador de parámetros en las fórmulas de Excel es ";" o "," Prueba de las dos formas.

    Luego copias las fórmulas cuantas veces quieras para reproducir los otros valores aleatorios.

    Saludos

    Macario

  5. abril 10, 2012 1:47 am

    Hola, me gustaría generar variables aleatorias con una distribución gamma, tengo entendido que la forma mas sencilla es por el metodo de rechazo, pero no consigo lograr que funcione.

    Gracias
    German

  6. Macario Hernández Enlace permanente*
    abril 22, 2012 11:40 am

    Hola Germán
    Disculpa la tardanza, pero he tenido mucho trabajo y tengo olvidado este blog. Si todavía te sirve la respuesta.

    Puedes generar una variable aleatoria Gamma con la fórmula siguiente:

    =DISTR.GAMMA.INV(ALEATORIA();ALFA; BETA)

    Si tienes Excel en Español. Si lo tienes en Inglés es cuestión de que busques la notación adecuada.

    Saludos

    Macario

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.