Menu

Números aleatorios en Excel: ALEATORIO y ALEATORIO.ENTRE

=ALEATORIO.ENTRE(1;100) devuelve un número entero aleatorio del 1 al 100, y =ALEATORIO() un decimal aleatorio desde 0 hasta menos de 1. MATRIZALEAT llena todo un rango, INDICE con ALEATORIO.ENTRE elige un elemento al azar, y Pegado especial > Valores congela los resultados.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=ALEATORIO.ENTRE(1;100) devuelve un número entero aleatorio del 1 al 100, los dos extremos incluidos. =ALEATORIO() devuelve un decimal aleatorio que es como mínimo 0 y menor que 1. Las dos dan números nuevos cada vez que la hoja se recalcula. En inglés estas funciones se llaman RANDBETWEEN y RAND, y la tabla muestra las fórmulas así: =RANDBETWEEN(1,100) y =RAND(). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Números aleatorios
B2
AB
1FormulaResult
2Decimal 0 to 10.256679579
3Whole 1 to 10024
4Die roll4
5CoinTails
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ALEATORIO()

Edita cualquier celda (escribe una palabra en A6, por ejemplo) y todos los resultados cambian. En Excel pasa lo mismo con cada edición en cualquier parte del libro, y F9 obliga a generar una serie nueva. Los números que ves aquí no son los que ve otro lector.

Sintaxis de ALEATORIO y ALEATORIO.ENTRE

=RAND()
=RANDBETWEEN(bottom, top)

ALEATORIO no recibe argumentos; los paréntesis vacíos son obligatorios. ALEATORIO.ENTRE recibe el número entero más pequeño y el más grande que puede devolver, y devuelve #¡NUM! (#NUM! en inglés; la tabla muestra los nombres de error en inglés) si bottom (inferior) es mayor que top (superior).

Número aleatorio entre dos valores

ALEATORIO.ENTRE solo devuelve números enteros. Para un decimal aleatorio dentro de un rango, escala ALEATORIO: multiplica por el ancho del rango y suma el valor más bajo. Envuélvelo en REDONDEAR para conservar dos decimales.

Valores aleatorios en un rango
D2
ABCD
1MinMaxKindRandom value
21050Whole46
31050Decimal49.74
42026-01-012026-12-31Date2026-09-04
5-55Whole-5
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ALEATORIO.ENTRE(A2;B2)

Cambia el mínimo y el máximo de las columnas A y B y los resultados se quedan dentro del nuevo rango. Las fechas son números enteros en Excel, así que ALEATORIO.ENTRE entre dos fechas devuelve una fecha aleatoria; da a la celda formato de fecha (Inicio > Formato de número > Fecha corta) o mostrará un número de serie. Los límites negativos también funcionan.

MATRIZALEAT: muchos números aleatorios a la vez

En Excel 365 y Excel 2021, =MATRIZALEAT(rows;columns;min;max;whole_number) (RANDARRAY en inglés) llena todo un rango desde una sola celda. Todos los argumentos son opcionales: =MATRIZALEAT(5) da cinco decimales del 0 al 1 en una columna.

MATRIZALEAT desborda un bloque de números
A2
ABCD
1Whole numbers 1 to 100Decimals 0 to 1
26423310.040617832
38389550.480702855
49578920.305043489
5436920.133745562
64473640.581903097
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =MATRIZALEAT(5;3;1;100;VERDADERO)

A2 llena A2:C6 con números enteros (el último argumento, TRUE, pide números enteros; omítelo para decimales). Excel 2019 y anteriores no tienen MATRIZALEAT: escribe =ALEATORIO.ENTRE(1;100) en una celda y cópiala al resto del rango.

Elegir un elemento al azar de una lista

Para sacar al azar un nombre, un producto o una pregunta, elige una posición aleatoria con ALEATORIO.ENTRE y devuelve el elemento de esa posición con INDICE. CONTARA cuenta los nombres, así que el rango puede pasar de la lista a filas vacías: =INDICE(A2:A100;ALEATORIO.ENTRE(1;CONTARA(A2:A100))) sigue funcionando cuando añades nombres debajo.

Ganador al azar
C2
ABC
1NameWinner
2AnaFinn
3Ben
4Cleo
5Dan
6Eve
7Finn
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =INDICE(A2:A7;ALEATORIO.ENTRE(1;CONTARA(A2:A7)))

Cada nombre tiene la misma probabilidad, una entre seis. Dos celdas con esta fórmula pueden sacar el mismo nombre; para varios ganadores distintos, mezcla la lista (siguiente sección) y toma las primeras filas.

Mezclar una lista y números aleatorios sin repetir

=ORDENARPOR(A2:A7;MATRIZALEAT(6)) ordena la lista según seis números aleatorios, y eso la pone en orden aleatorio. Como cada elemento aparece una vez, el resultado nunca se repite, y es la forma estándar de sacar varios nombres o números distintos en Excel 365 y 2021.

Lista mezclada y 3 números distintos del 1 al 20
C2
ABCDE
1NameShuffled3 of 1 to 20
2AnaFinn8
3BenBen3
4CleoAna12
5DanCleo
6EveEve
7FinnDan
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =ORDENARPOR(A2:A7;MATRIZALEAT(FILAS(A2:A7)))

E2 mezcla los números del 1 al 20 creados por SECUENCIA y se queda con los tres primeros con TOMAR, así que los tres siempre son distintos. TOMAR (TAKE en inglés) necesita Microsoft 365 o Excel 2024; en Excel 2021 escribe =INDICE(ORDENARPOR(SECUENCIA(20);MATRIZALEAT(20));SECUENCIA(3)). En Excel 2019, pon =ALEATORIO() en una columna auxiliar junto a la lista y ordena la lista por esa columna con Datos > Ordenar.

Pruébalo: escala tú mismo un valor aleatorio

ALEATORIO.ENTRE es ALEATORIO escalado a un rango y recortado a un número entero. Aquí B2 contiene un valor que ALEATORIO devolvió en su momento, pegado como valor para que ya no cambie.

Convertir un valor de ALEATORIO en un número entero
C2
ABCDE
1ItemRAND valueWhole numberMinMax
2Draw 10.372512
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: B2 contiene un valor de ALEATORIO (RAND en inglés). En C2, conviértelo en un número entero desde el mínimo de D2 hasta el máximo de E2, los dos incluidos, como hace ALEATORIO.ENTRE: multiplica por la cantidad de números posibles, quita los decimales con ENTERO (INT en inglés) y suma el mínimo.

Pista: del 5 al 12 hay E2-D2+1 números posibles, es decir, 8.

Error habitual: resultados que cambian después de usarlos

Un sorteo que cambia con la siguiente edición no sirve como registro de quién ganó o de qué filas entraron en una muestra. Cuando tengas los números que quieres, conviértelos en valores:

  1. Selecciona las celdas y cópialas (Ctrl+C, Cmd+C en Mac).
  2. Inicio > Pegar > Valores. En Windows, Ctrl+Alt+V, luego V y luego Entrar; en Mac, Ctrl+Cmd+V y elige Valores.

Para una sola celda, pulsa F2 para editarla, F9 para reemplazar la fórmula por su resultado actual y Entrar. Si necesitas los mismos números "aleatorios" cada vez, para una prueba o un ejercicio de clase, Excel no tiene un argumento de semilla: pega los valores una vez y conserva esa hoja. ALEATORIO sirve para muestras, juegos y datos de prueba, pero no para contraseñas ni nada relacionado con la seguridad.

Preguntas frecuentes

¿Cómo genero un número aleatorio entre dos números en Excel?

Para números enteros usa =ALEATORIO.ENTRE(10;50), que puede devolver tanto 10 como 50. Para decimales usa =ALEATORIO()*(50-10)+10, o =MATRIZALEAT(1;1;10;50) en Excel 365 o 2021.

¿Cómo hago que los números aleatorios dejen de cambiar en Excel?

Reemplaza las fórmulas por sus valores: copia las celdas y luego Inicio > Pegar > Valores. En Windows, Ctrl+Alt+V, V, Entrar hace lo mismo; en Mac, Ctrl+Cmd+V abre Pegado especial, donde eliges Valores. Para una sola celda, pulsa F2, luego F9 (Fn+F9 en algunos portátiles) y luego Entrar.

¿Cómo elijo un nombre al azar de una lista en Excel?

Usa =INDICE(A2:A7;ALEATORIO.ENTRE(1;CONTARA(A2:A7))). CONTARA cuenta los nombres, ALEATORIO.ENTRE elige una posición e INDICE devuelve el nombre de esa posición.

¿Cómo genero números aleatorios sin repetir en Excel?

Mezcla una secuencia y toma los primeros: =TOMAR(ORDENARPOR(SECUENCIA(50);MATRIZALEAT(50));6) da 6 números distintos del 1 al 50 en Excel 365. En Excel 2021, que no tiene TOMAR, usa =INDICE(ORDENARPOR(SECUENCIA(50);MATRIZALEAT(50));SECUENCIA(6)). ALEATORIO.ENTRE en varias celdas puede repetirse.

¿Cómo genero una fecha aleatoria en Excel?

Usa ALEATORIO.ENTRE con dos fechas: =ALEATORIO.ENTRE(FECHA(2026;1;1);FECHA(2026;12;31)) devuelve un día aleatorio de 2026. Da a la celda formato de fecha, o mostrará el número de serie de la fecha.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR