Cómo generar números aleatorios en Excel (ALEATORIO y ALEATORIO.ENTRE)
Genera números aleatorios en Excel con ALEATORIO y ALEATORIO.ENTRE: un dado, un ganador de sorteo, barajar una lista y fijar el resultado. Guía con demo.
Excel incluye dos funciones nativas pensadas exactamente para esto: generar números aleatorios en Excel sin depender de complementos ni de fórmulas complicadas. Se llaman ALEATORIO() y ALEATORIO.ENTRE(), y aunque parecen simples, esconden algunos detalles que casi todo el mundo pasa por alto la primera vez que las usa: por qué cambian solas, cómo fijarlas, cómo generar decimales en un rango concreto o cómo usarlas para sortear un premio entre varios participantes.
En esta guía vas a ver, con ejemplos prácticos, cómo generar un decimal aleatorio entre 0 y 1, cómo simular el lanzamiento de un dado o sortear un número del 1 al 100, cómo elegir un elemento al azar de una lista, cómo barajar filas como si repartieras cartas, y cómo evitar el error más típico: que tus números aleatorios cambien justo cuando no quieres que cambien.
También veremos la función moderna MATRIZALEAT de Excel 365, cómo generar letras aleatorias, los errores más comunes al trabajar con aleatoriedad en una hoja de cálculo, y cómo se traduce todo esto si trabajas en Google Sheets en lugar de Excel.

Qué son los números aleatorios en Excel y para qué sirven
Un número aleatorio es un valor que Excel calcula de forma impredecible dentro de unos límites que tú defines (o sin límites, en el caso de ALEATORIO). No es aleatorio en el sentido criptográfico, pero es más que suficiente para el uso habitual en una hoja de cálculo: sorteos, muestras estadísticas, simulaciones, generación de datos de prueba, juegos caseros tipo dado o ruleta, asignación al azar de tareas o turnos, y tests de tipo Montecarlo básicos.
La gran ventaja de usar funciones aleatorias en lugar de escribir números a mano es que se recalculan automáticamente y puedes generar cientos de valores en segundos simplemente arrastrando una fórmula. La gran trampa, como verás más adelante, es que ese mismo recálculo automático puede jugarte una mala pasada si no sabes cómo fijar el resultado cuando lo necesitas.
La función ALEATORIO(): decimales entre 0 y 1
La función ALEATORIO() es la más básica de las dos. No lleva ningún argumento (por eso los paréntesis van siempre vacíos) y devuelve un número decimal aleatorio mayor o igual que 0 y menor que 1, por ejemplo 0,472913 o 0,00812. Su sintaxis es tan simple como escribir:
Sintaxis de ALEATORIO
=ALEATORIO() — sin argumentos, siempre con los paréntesis vacíos. Si escribes algo dentro de los paréntesis, Excel te devolverá un error, porque esta función no acepta parámetros.
Ejemplos de uso de ALEATORIO
| Fórmula | Qué genera |
|---|---|
| =ALEATORIO() | Un decimal aleatorio entre 0 (incluido) y 1 (excluido), por ejemplo 0,638201 |
| =ALEATORIO()*100 | Un decimal aleatorio entre 0 y 100, útil para simular porcentajes o notas |
| =REDONDEAR(ALEATORIO();2) | Un decimal aleatorio entre 0 y 1 con solo 2 decimales, por ejemplo 0,47 |
| =SI(ALEATORIO()<0,5;»Cara»;»Cruz») | Simula el lanzamiento de una moneda al 50% |
Fíjate en la última fila de la tabla: combinar ALEATORIO con una condición SI es una manera muy sencilla de simular sucesos con una probabilidad concreta, como una moneda (50%) o un evento que ocurre el 20% de las veces (SI(ALEATORIO()<0,2;…)).
Pruébalo: genera un número al azar
↑ ALEATORIO.ENTRE da un entero al azar entre los dos valores. Se recalcula cada vez (es volátil).
La función ALEATORIO.ENTRE(): números enteros dentro de un rango
Cuando necesitas un número entero aleatorio dentro de un rango concreto —como tirar un dado, sortear un número de lotería o elegir una fila al azar—, la función que necesitas es ALEATORIO.ENTRE. Su sintaxis es:
Sintaxis de ALEATORIO.ENTRE
=ALEATORIO.ENTRE(inferior; superior), donde inferior es el valor mínimo posible y superior es el valor máximo posible. Ambos límites son inclusivos, es decir, el propio inferior y el propio superior pueden salir como resultado.
Ejemplo: simular el lanzamiento de un dado
Para simular un dado de seis caras escribe: =ALEATORIO.ENTRE(1;6). Cada vez que la hoja se recalcule obtendrás un número entero del 1 al 6, ambos incluidos, igual que si lanzaras un dado físico.
Ejemplo: un número aleatorio del 1 al 100
Para obtener un número del 1 al 100 (por ejemplo para un sorteo o una rifa), la fórmula es =ALEATORIO.ENTRE(1;100). Si quieres un rango distinto, como del 1000 al 9999 para generar códigos, simplemente cambia los límites: =ALEATORIO.ENTRE(1000;9999).
| Necesidad | Fórmula |
|---|---|
| Dado de 6 caras | =ALEATORIO.ENTRE(1;6) |
| Moneda (0 o 1) | =ALEATORIO.ENTRE(0;1) |
| Número de lotería del 1 al 49 | =ALEATORIO.ENTRE(1;49) |
| Número de 3 cifras | =ALEATORIO.ENTRE(100;999) |
| Año aleatorio entre 2000 y 2025 | =ALEATORIO.ENTRE(2000;2025) |
Por qué tus números aleatorios cambian solos: la volatilidad
Tanto ALEATORIO como ALEATORIO.ENTRE son funciones volátiles. Esto significa que Excel las recalcula constantemente, no solo cuando cambias el valor de una celda relacionada, sino prácticamente cada vez que algo se mueve en la hoja.
Cuándo se recalculan
- Al pulsar la tecla F9 (recalcular manualmente)
- Al modificar el valor de cualquier celda de la hoja, aunque no tenga relación con la fórmula
- Al insertar o eliminar filas, columnas u hojas
- Al abrir el archivo de nuevo
- Al aplicar un filtro, ordenar datos o simplemente guardar el libro en algunos casos
Esto explica por qué, si haces una captura de pantalla o compartes el archivo, la persona que lo abra verá números distintos a los que viste tú. No es un fallo: es el comportamiento normal y esperado de estas funciones volátiles.
Cómo fijar (congelar) un número aleatorio para que no cambie
Si necesitas que el resultado del sorteo, del dado o de la muestra se quede fijo para siempre —por ejemplo, porque ya elegiste al ganador y no quieres que la fórmula lo cambie al abrir el archivo—, la solución es convertir la fórmula en un valor mediante pegado especial.
Pasos para fijar los números aleatorios
- Selecciona la celda o el rango con las fórmulas de ALEATORIO o ALEATORIO.ENTRE
- Copia la selección (Ctrl+C)
- Sin mover la selección, ve a Pegado especial (clic derecho > Pegado especial, o Ctrl+Alt+V)
- Elige la opción Valores y acepta
A partir de ese momento, la celda ya no contiene la fórmula: contiene el número fijo que había en ese instante, y no cambiará aunque pulses F9 o edites otras celdas. Puedes ver el proceso completo, con todas las variantes de pegado (valores, formatos, fórmulas), en esta guía sobre pegado especial en Excel.
Generar decimales aleatorios dentro de un rango personalizado
ALEATORIO solo da valores entre 0 y 1, pero es muy fácil escalar el resultado a cualquier rango de decimales que necesites, por ejemplo entre 10 y 20, o entre -5 y 5. La fórmula general es:
Fórmula para decimales en un rango
=ALEATORIO()*(máximo-mínimo)+mínimo. Esta fórmula toma el decimal entre 0 y 1 que devuelve ALEATORIO, lo multiplica por la amplitud del rango (máximo menos mínimo) y luego suma el mínimo para desplazar el resultado al intervalo correcto.
| Rango deseado | Fórmula |
|---|---|
| Decimal entre 10 y 20 | =ALEATORIO()*(20-10)+10 |
| Decimal entre -5 y 5 | =ALEATORIO()*(5-(-5))+(-5) |
| Precio entre 9,99 y 49,99 | =REDONDEAR(ALEATORIO()*(49,99-9,99)+9,99;2) |
Si además quieres controlar el número de decimales que muestra el resultado, combina la fórmula con REDONDEAR, como en la última fila de la tabla. Tienes todos los detalles sobre cómo redondear con distintos criterios (hacia arriba, hacia abajo, a un número de cifras concreto) en esta guía sobre cómo redondear en Excel.
Elegir un elemento al azar de una lista
Una de las utilidades más prácticas de ALEATORIO.ENTRE es combinarla con INDICE para elegir un elemento cualquiera de una lista: un nombre, un producto, una tarea, una pregunta de examen, etc.
Fórmula para elegir un elemento al azar
Si tu lista de nombres está en el rango A2:A20, la fórmula es: =INDICE(A2:A20;ALEATORIO.ENTRE(1;CONTARA(A2:A20))). Aquí, CONTARA cuenta cuántos elementos tiene la lista para que el rango de ALEATORIO.ENTRE se ajuste automáticamente aunque añadas o quites nombres. Para entender bien cómo funciona INDICE (y su combinación clásica con COINCIDIR), consulta esta guía sobre la función INDICE y COINCIDIR en Excel.
| Situación | Fórmula |
|---|---|
| Elegir un nombre al azar de A2:A20 | =INDICE(A2:A20;ALEATORIO.ENTRE(1;CONTARA(A2:A20))) |
| Elegir una pregunta al azar de B2:B50 | =INDICE(B2:B50;ALEATORIO.ENTRE(1;CONTARA(B2:B50))) |
Cada vez que la hoja se recalcule (o pulses F9), la fórmula devolverá un elemento distinto de la lista, lo que la hace perfecta para dinámicas de clase, ruedas de preguntas o para decidir quién empieza en un juego.
Cómo sortear un ganador entre varios participantes
Para un sorteo real —por ejemplo, elegir un ganador entre los participantes de un concurso—, el proceso es prácticamente el mismo que elegir un elemento al azar, pero conviene añadir un paso extra para dejar el resultado bien documentado.
Pasos para sortear un ganador
- Escribe la lista de participantes en una columna, por ejemplo A2:A100
- En una celda aparte escribe: =INDICE(A2:A100;ALEATORIO.ENTRE(1;CONTARA(A2:A100)))
- Pulsa F9 varias veces si quieres generar suspense antes del resultado final
- En cuanto tengas el nombre ganador, copia esa celda y pégala como valor en otra celda, para que quede fijo como prueba del sorteo
Barajar o poner una lista en orden aleatorio
Otra necesidad muy habitual es barajar filas, es decir, poner una lista de datos en un orden completamente aleatorio, como si repartieras una baraja de cartas. La forma clásica, compatible con cualquier versión de Excel, usa una columna auxiliar.
Método clásico: columna auxiliar + ordenar
- Añade una columna junto a tus datos y escribe =ALEATORIO() en cada fila
- Copia esa columna y pégala como valores (para que no cambie mientras ordenas)
- Selecciona todo el rango de datos, incluida la columna auxiliar
- Ordena por esa columna auxiliar, de menor a mayor (o al revés), usando Datos > Ordenar
Como cada fila recibió un decimal distinto e impredecible, al ordenar por esa columna las filas quedan mezcladas al azar. Puedes repasar todas las opciones del cuadro de ordenación (por color, por varios criterios, ascendente o descendente) en esta guía sobre cómo ordenar y filtrar en Excel.
Método moderno: ORDENARPOR + MATRIZALEAT (Excel 365)
Si trabajas con Excel 365, puedes barajar una lista con una sola fórmula dinámica, sin columnas auxiliares: =ORDENARPOR(A2:A20;MATRIZALEAT(FILAS(A2:A20))). Esta combinación ordena la lista según una matriz de números aleatorios generada al vuelo. Tienes el detalle completo de la función dinámica de ordenación en esta guía sobre la función ORDENAR en Excel.
MATRIZALEAT: varios números aleatorios a la vez (Excel 365)
Las versiones modernas de Excel (365) incorporan MATRIZALEAT, una función que genera de golpe una matriz completa de números aleatorios, sin necesidad de copiar una fórmula celda a celda. Su sintaxis es: =MATRIZALEAT([filas];[columnas];[mínimo];[máximo];[entero]), y todos sus argumentos son opcionales.
| Fórmula | Resultado |
|---|---|
| =MATRIZALEAT() | Un único decimal aleatorio entre 0 y 1, igual que ALEATORIO() |
| =MATRIZALEAT(5;1) | Una columna con 5 decimales aleatorios entre 0 y 1 |
| =MATRIZALEAT(3;4) | Una matriz de 3 filas por 4 columnas con decimales aleatorios |
| =MATRIZALEAT(5;1;1;100;VERDADERO) | Una columna con 5 números enteros aleatorios entre 1 y 100 |
El último argumento, entero, es el que marca la diferencia con ALEATORIO.ENTRE: si lo pones en VERDADERO, MATRIZALEAT devuelve números enteros; si lo dejas en FALSO (o lo omites), devuelve decimales. Es especialmente útil cuando necesitas generar una tabla completa de datos de prueba de un solo golpe.
Cómo generar letras o caracteres aleatorios
Excel no tiene una función dedicada a generar letras aleatorias, pero puedes conseguirlo combinando ALEATORIO.ENTRE con CARACTER, que convierte un código numérico en un carácter de texto.
Fórmula para una letra mayúscula aleatoria
Las letras A-Z en mayúscula ocupan los códigos del 65 al 90, así que la fórmula es: =CARACTER(ALEATORIO.ENTRE(65;90)). Para minúsculas (a-z, códigos 97 a 122), usa =CARACTER(ALEATORIO.ENTRE(97;122)).
Si necesitas generar un código alfanumérico completo (por ejemplo para contraseñas de prueba o referencias de producto), puedes unir varias de estas fórmulas con CONCAT o el operador &, mezclando letras con ALEATORIO.ENTRE(0;9) para los dígitos.
Errores comunes al usar números aleatorios en Excel
Casi todos los problemas con ALEATORIO y ALEATORIO.ENTRE se repiten en los mismos puntos. Aquí tienes los más frecuentes para que no te pillen por sorpresa.
- Olvidar los paréntesis en =ALEATORIO(), lo que provoca un error de fórmula
- Invertir los argumentos de ALEATORIO.ENTRE (poner primero el número mayor y después el menor), lo que también genera error
- Pensar que el resultado es fijo y sorprenderse cuando cambia al reabrir el archivo o al editar otra celda
- No fijar el valor antes de compartir el archivo, de modo que el destinatario ve un sorteo distinto al que tú viste
- Olvidar que los límites son inclusivos en ALEATORIO.ENTRE, lo que descuadra ligeramente algunos cálculos de probabilidad
- Abusar de funciones volátiles en hojas muy grandes, ralentizando el archivo sin darse cuenta
- No redondear los decimales de ALEATORIO cuando el resultado necesita un número concreto de cifras
Números aleatorios en Google Sheets
Si trabajas en Google Sheets en lugar de Excel, buena noticia: las funciones se llaman igual en la versión en español, y funcionan de forma prácticamente idéntica.
| Función | Excel | Google Sheets |
|---|---|---|
| Decimal entre 0 y 1 | =ALEATORIO() | =ALEATORIO() |
| Entero en un rango | =ALEATORIO.ENTRE(1;100) | =ALEATORIO.ENTRE(1;100) |
| Fijar el resultado | Copiar > Pegado especial > Valores | Copiar > Pegar especial > Solo los valores |
La diferencia principal está en el separador de argumentos: según la configuración regional de tu hoja, Google Sheets puede pedir coma en lugar de punto y coma dentro de la fórmula. Y, como en Excel, tanto ALEATORIO como ALEATORIO.ENTRE son volátiles en Google Sheets: se recalculan cada vez que editas cualquier celda de la hoja, así que la misma técnica de copiar y pegar solo valores sirve para fijar el resultado.
Descarga nuestras plantillas gratis, listas para personalizar.
Preguntas y respuestas
¿Cuál es la diferencia entre ALEATORIO y ALEATORIO.ENTRE?
¿Por qué mi número aleatorio cambia cada vez que hago algo en la hoja?
¿Cómo dejo fijo un número aleatorio para que no vuelva a cambiar?
¿ALEATORIO.ENTRE puede devolver el número más bajo o el más alto que le indico?
¿Cómo genero un número aleatorio sin decimales dentro de un rango grande?
¿Puedo generar un número aleatorio sin que se repita dentro de una lista?
¿Se puede generar una fecha aleatoria en Excel?
¿Las fórmulas de números aleatorios funcionan igual en Google Sheets?
La idea que te llevas
Con ALEATORIO() y ALEATORIO.ENTRE() tienes cubierta prácticamente cualquier necesidad de aleatoriedad en una hoja de cálculo: desde un simple lanzamiento de moneda hasta un sorteo completo con decenas de participantes. La clave para no llevarte sorpresas está en recordar siempre dos cosas: que son funciones volátiles que se recalculan solas, y que puedes fijar el resultado en cualquier momento con un simple pegado especial como valores. A partir de ahí, combínalas con INDICE, ORDENARPOR o MATRIZALEAT y podrás automatizar sorteos, muestras y listas barajadas en segundos.
Excel® es una marca registrada de Microsoft Corporation. Este sitio no está afiliado a Microsoft.