Números aleatorios en Excel

Excel tiene dos funciones que nos ayudarán a generar números aleatorios y en esta ocasión revisaremos a profundidad cada una de ellas. Me refiero a la función ALEATORIO y a la función ALEATORIO.ENTRE.

Lo primero que debes saber es que la función ALEATORIO.ENTRE fue introducida en Excel 2007, así que por mucho tiempo los usuarios de Excel solamente tuvieron disponible la función ALEATORIO para generar números aleatorios.

Los ejemplos que realizaremos en este artículo te ayudarán a entender el comportamiento de cada una de las funciones de manera que puedas utilizar el método adecuado para obtener los números aleatorios tal como los necesitas.

La función ALEATORIO en Excel

La definición oficial Microsoft sobre la función ALEATORIO nos dice que la función nos devolverá un número aleatorio mayor o igual que cero y menor que uno. Aunque es probable que encuentres literatura que diga que la función devuelve valores entre 0 y 1, para ser exactos debemos decir que la función ALEATORIO devolverá valores entre 0 y 0.9999999…

Para obtener un número aleatorio en Excel debemos utilizar la función ALEATORIO de la siguiente manera:

=ALEATORIO()

La función no tiene argumentos, así que será suficiente con colocar su nombre seguido de ambos paréntesis. He ingresado la función en la celda A1 y como resultado obtendremos un número aleatorio como el siguiente:

Números aleatorios en Excel

Si quisiera generar más números aleatorios, será suficiente con copiar la fórmula hacia otras celdas. Por ejemplo, la siguiente imagen muestra el resultado de copiar la fórmula hacia abajo hasta la celda A10:

Números aleatorios Excel

Como puedes notar, el valor de la celda A1 ha cambiado después de haber copiado la fórmula hacia abajo. Esto se debe a que la función ALEATORIO es recalculada cada vez que existe un cambio dentro de la hoja y por lo tanto tenemos un nuevo valor en la celda A1.

Si quieres dejar “fijos” los números aleatorios generados por la función ALEATORIO, deberás copiarlos a otra rango de celdas utilizando la opción Pegar > Valores. De esta manera se eliminará la función ALEATORIO de las nuevas celdas y solamente nos quedaremos con los números aleatorios previamente generados.

Números aleatorios mayores a 1

Como has visto, la función ALEATORIO genera números aleatorios en Excel que son menores que 1 pero mayores o iguales  a 0. La realidad es que existen innumerables situaciones en las que necesitamos números aleatorios mayores a 1.

Para obtener números aleatorios mucho más grandes que los devueltos por la función ALEATORIO, lo único que debemos hacer es multiplicar su resultado por los límites superior e inferior de la siguiente manera:

=ALEATORIO() * (Máximo - Mínimo) + Mínimo

Donde Máximo es el valor más grande que queremos obtener con la función ALEATORIO, mientras que Mínimo es el valor más pequeño. De esta manera, si queremos generar números aleatorios entre 20 y 30, debemos utilizar la siguiente fórmula:

=ALEATORIO() * (30 - 20) + 20

Por la naturaleza de la función ALEATORIO, la fórmula anterior devolverá valores que serán iguales o superiores a 20 pero menores a 30, es decir, como máximo obtendremos el valor 29.9999999…

La siguiente imagen muestra el resultado de copiar la fórmula anterior al rango A1:F10.

Generador de números aleatorios en Excel

Generar números aleatorios enteros

Hasta ahora hemos generado números aleatorios que tienen una parte decimal, pero si queremos obtener números aleatorios enteros, podemos utilizar la función TRUNCAR cuyo objetivo es quitar la parte decimal de un número. Considera la siguiente fórmula:

=TRUNCAR(ALEATORIO() * (30 - 20) + 20)

En esta fórmula estoy utilizando la función TRUNCAR y como argumento he colocado la misma función ALEATORIO del ejemplo anterior de manera que la fórmula devolverá números aleatorios enteros entre 20 y 30 como lo muestra la siguiente imagen:

Crear números aleatorios con funciones de Excel

Como lo he mencionado antes, la fórmula anterior generará números aleatorios mayores o iguales a 20 pero menores a 30. Sin embargo, si necesitas incluir el número 30 dentro de los números aleatorios enteros, entonces será necesario incrementar el valor Máximo a 31 como en la siguiente fórmula:

=TRUNCAR(ALEATORIO() * (31 - 20) + 20)

De esta manera obtendremos números aleatorios que serán iguales o mayores a 20 y menores o iguales a 30. La siguiente imagen muestra el resultado de la fórmula anterior, generando números aleatorios incluyendo el número 20 y el 30 como resultado de haber aumentado el valor Máximo en la fórmula.

Cómo generar un número al azar en Excel

Esta fórmula era tan utilizada en el pasado por los usuarios de Excel, que Microsoft decidió crear la función ALEATORIO.ENTRE que nos permite obtener números aleatorios enteros.

La función ALEATORIO.ENTRE en Excel

La función ALEATORIO.ENTRE tiene dos argumentos, el primero de ellos es el número entero más pequeño que devolverá la función y el segundo argumento es el entero más grande. De esta manera, si queremos generar números aleatorios entre 20 y 30 podemos utilizar la siguiente fórmula:

=ALEATORIO.ENTRE(20, 30)

El resultado será el mismo que obtuvimos con la función ALEATORIO en el último ejemplo de la sección anterior, es decir tendremos números aleatorios enteros entre 20 y 30 incluyendo ambos extremos. La siguiente imagen muestra el resultado de utilizar la función ALEATORIO.ENTRE:

Generar números aleatorios con decimales en Excel

Algo que es imposible de realizar con las funciones de Excel que hemos revisado en esta ocasión, es la generación de números aleatorios únicos, es decir que no se repitan. Aunque es posible generar ese tipo de números aleatorios en Excel, será necesario tener habilidades de programación en VBA para lograr dicho cometido. Si quieres saber más sobre esa solución, te recomiendo leer el artículo Cómo generar números aleatorios únicos en Excel.

Los números aleatorios son ampliamente utilizados en Excel para realizar algún tipo de cálculo estadístico o alguna simulación y es importante conocer las funciones que nos ayudarán a generar este tipo de números.