curso
Generador de números aleatorios de Excel: 3 métodos diferentes
Los números aleatorios se utilizan en Excel para todo tipo de tareas, como simulaciones y pruebas de hipótesis. En este artículo, te guiaré a través de las diferentes formas de generarlas. Empezaremos con las básicas, como RAND()
y RANDBETWEEN(),
, y luego pasaremos a opciones más avanzadas, como RANDARRAY().
. Al final, sabrás exactamente cómo utilizar cada una de estas funciones y cómo elegir entre ellas.
Visión general de las funciones de números aleatorios de Excel
Excel puede generar números aleatorios como decimales simples, números enteros dentro de un rango, o incluso tablas enteras de valores. Veamos tres formas diferentes de hacerlo:
Función RAND()
La función RAND()
da un decimal aleatorio entre 0 y 1. Es una función importante de , por eso la incluimos en nuestra lista de 15 Fórmulas básicas de Excel que todo el mundo debe conocer.
Para generar números decimales aleatorios entre 0 y 1, simplemente introduce =RAND()
en una de las celdas. Si quieres más números aleatorios, arrastra para aplicar esta fórmula a filas adicionales.
Genera números aleatorios utilizando la función RAND(). Imagen del autor.
También puedes utilizar la función RAND()
para generar distintos tipos de números, como por ejemplo:
-
Números aleatorios dentro de un rango específico: Utiliza esta fórmula:
RAND() * N
fórmula. Aquí,N
puede ser cualquier valor. -
Número aleatorio entre dos números cualesquiera: Utiliza esta fórmula:
RAND() * (b - a) + a.
Aquíb
es el valor más alto, ya
el más bajo. El resultado siempre será menor que el valorb
. -
Números aleatorios que son enteros en lugar de decimales: Utiliza las fórmulas anteriores y envuélvelas dentro de la función
INT()
.
=RAND()*100
=RAND()*(20-10)+10
=INT(RAND()*(20-10)+10)
Genera enteros aleatorios con la función RAND(). Imagen del autor.
Como nota, puedes observar que estos números se actualizan cada vez que introduzco nuevos números en la hoja. Asegúrate de utilizar Pegado especial > Valores si quieres fijar los números en su sitio (más sobre esto más adelante).
Función RANDBETWEEN()
RANDBETWEEN()
genera enteros aleatorios entre el rango especificado. Su sintaxis es:
=RANDBETWEEN(bottom, top)
La parte inferior es el valor más bajo, y la superior el más alto.
Por ejemplo, imagina que quiero generar números enteros entre 10 y 20. Puedo utilizar la siguiente fórmula:
=RANDBETWEEN(10,20)
Genera números aleatorios utilizando RANDBETWEEN(). Imagen del autor.
Observa que podrías obtener el mismo resultado con =INT(RAND()*(20-10)+10)
. Pero prefiero RANDBETWEEN()
porque es una versión mejorada y más fácil de la función RAND()
diseñada para este tipo de trabajo. Con RAND(),
tengo que escribir una fórmula larga para obtener un número entero aleatorio entre dos valores. Pero con RANDBETWEEN(),
puedo hacerlo en un solo paso.
Función RANDARRAY()
RANDARRAY()
se introdujo en Excel 365. Devuelve una matriz de números aleatorios y nos permite especificar el número de valores, filas y columnas a rellenar -todo ello sin arrastrar la fórmula- y podemos elegir si devuelve decimales o números enteros.
=RANDARRAY([rows],[columns],[min],[max],[whole_number])
Toma:
-
rows
se refiere al número de filas que queremos rellenar. -
columns
se refiere al número de columnas que queremos rellenar. -
min
especifica el número más bajo. -
max
especifica el número más alto. -
whole_number
tomaTRUE
para los números enteros yFALSE
(o deja en blanco) para los decimales.
Veamos cómo funciona en la vida real. Supongamos que quiero generar números decimales aleatorios en 4 columnas y 6 filas entre 10 y 20. En este caso, mi fórmula sería
=RANDARRAY(6,4,10,20)
Para los números enteros, la fórmula sería:
=RANDARRAY(6,4,10,20,TRUE)
De esta forma, cada vez que actualizo la hoja de cálculo, se generan nuevos números.
Genera números aleatorios utilizando la función RANDARRAY(). Imagen del autor.
Una comparación rápida de todas las funciones
Aquí tienes una rápida comparación de las tres funciones:
Función | RAND() | RANDBETWEEN() | RANDARRAY() |
---|---|---|---|
Tipo de salida | Decimal | Números enteros entre un rango especificado | Decimal o entero |
Opción de gama disponible | No | Sí | Sí |
Da múltiples valores | No | No | Sí |
Versiones disponibles | Todas las versiones (Excel 365 - 2000) | Excel 365 - 2007 | Excel 365 - 2021 |
Usos específicos del generador de números aleatorios de Excel
Veamos algunos ejemplos reales de cómo y dónde podemos utilizar los generadores de números aleatorios.
Generar números aleatorios únicos
A veces, queremos generar números aleatorios que no se repitan. Aunque Excel no tiene una función directa para esto, podemos hacer una combinación de dos funciones:
-
RAND()
conRANK.EQ()
-
RANDARRAY()
conUNIQUE()
Digamos que necesito 10 números aleatorios únicos. Primero, aplico RAND()
en la celda A2 para generar números aleatorios y los arrastro a A10. Luego, en la celda B2, como quiero que estos números sean valores únicos, introduzco la siguiente fórmula:
=RANK.EQ(A2,$A$2:$A$10)
Genera números aleatorios únicos utilizando RANK.EQ(). Imagen del autor.
Otra forma es envolver la función RANDARRAY()
dentro de la función UNIQUE()
. Aquí genero 10 números aleatorios únicos entre 1 y 20 utilizando esta fórmula:
=UNIQUE(RANDARRAY(10,1,1,20,TRUE))
Genera números aleatorios con UNIQUE() y RANDARRAY(). Imagen del autor.
Nota: Tanto UNIQUE()
como RANDARRAY()
sólo funcionan en Excel 365 y 2021. Sigue nuestro curso de Fundamentos de Excel para mantenerte al día.
Generar números con distribuciones específicas
Excel también proporciona una forma de generar números aleatorios siguiendo una distribución específica, como una distribución normal, que podría ser útil en algo como una simulación monte carlo. Para ello, puedes utilizar la función NORM.INV().
=NORM.INV(probability, mean, standard deviation)
Toma:
-
probability
es un decimal aleatorio entre 0 y 1(RAND())
. -
mean
es el valor medio en torno al cual deben girar las cifras. -
La desviación típica se refiere a cuánto fluctúan las cifras hacia arriba y hacia abajo respecto a la media.
Por ejemplo, quiero crear puntuaciones de examen aleatorias para una clase de alumnos y establecer la puntuación media en 75. La mayoría de los alumnos obtienen 10 puntos (lo que significa que sus puntuaciones oscilan entre 65 y 85). Así que apliqué la siguiente fórmula a todas las filas:
=NORM.INV(RAND(), 75, 10)
Genera una distribución normal utilizando la función NORM.INV(). Imagen del autor.
Anonimizar y probar los datos
Incluso podemos utilizar números aleatorios para sustituir datos sensibles (como números de cuenta o de teléfono) con fines de prueba o de privacidad de datos.
Aquí tengo una lista de números de cuenta, y quiero anonimizar los cuatro primeros dígitos de los números de cuenta, así que los sustituyo por números aleatorios generales utilizando esta fórmula:
=REPLACE(A2,1,4,RANDBETWEEN(1,4))
Oculta los datos sensibles con números aleatorios. Imagen del autor.
Toma mejores decisiones
Puede parecer sorprendente, pero incluso podemos utilizar números aleatorios para tomar decisiones rápidas. Por ejemplo, si quiero elegir al azar un ganador de una larga lista, puedo extraer un nombre al azar del rango dado.
A continuación, tengo una lista de nombres en las celdas A2 a A10 para un sorteo, y quiero seleccionar un ganador. Ahora, para ello, introduzco la siguiente fórmula en la celda C2, y elige al azar un ganador:
=INDEX(A2:A10, RANDBETWEEN(1, 11))
Elige un ganador al azar. Imagen del autor.
Cómo evitar el recálculo de números aleatorios
Un problema de los números aleatorios es que cambian cada vez que se actualiza la hoja. Si quieres mantenerlos fijos, conviértelos en valores estáticos. Hay dos formas de hacerlo:
- Selecciona el rango de números aleatorios, pulsa Ctrl + C para copiarlos, luego haz clic con el botón derecho y elige Pegado especial > Valores.
- Para dejar de recalcular los números de una celda, haz clic en la celda y, en la barra de fórmulas, pulsa F9.
Comprender los algoritmos de números aleatorios de Excel
En caso de que sientas curiosidad por lo que ocurre bajo el capó de las funciones de números aleatorios de Excel, hablaré un poco de ello.
Desde Excel 2010, Microsoft Excel utiliza el algoritmo Mersenne Twister para generar números aleatorios. Produce números aleatorios de alta calidad que superan muchas pruebas estadísticas. Una de sus versiones más utilizadas es la MT19937, basada en un tipo especial de número primo llamado primo de Mersenne.
Antes del Twister de Mersenne, se utilizaba el método del cuadrado medio. Eleva un número al cuadrado y trata el dígito central como un número aleatorio. Aunque en su momento fue una idea ingeniosa, desarrollada por el genio John von Neumann, se descubrió que producía patrones e incluso podía atascarse repitiendo los mismos números. Por eso lo sustituyó el Twister de Mersenne.
Reflexiones finales
Hemos repasado distintas formas de generar números aleatorios en Excel, desde simples decimales con RAND()
hasta números enteros con RANDBETWEEN()
e incluso tablas completas de valores aleatorios con RANDARRAY()
.
Si quieres aprender más sobre el manejo de datos en Excel, consulta nuestros cursos Preparación de datos en Excel y Visualización de datos en Excel. Además, haz clic a continuación para acceder a nuestro curso de Fundamentos de Excel, que no requiere experiencia previa.
Avanza en tu carrera con Excel
Adquiere los conocimientos necesarios para sacar el máximo partido a Excel, sin necesidad de experiencia.
Soy una estratega de contenidos a la que le encanta simplificar temas complejos. He ayudado a empresas como Splunk, Hackernoon y Tiiny Host a crear contenidos atractivos e informativos para su público.
Aprende Excel con DataCamp
curso
Funciones avanzadas de Excel
curso