Generar números aleatorios en Excel es fundamental para el análisis de datos, el muestreo aleatorio, simulaciones e investigación. Excel ofrece dos funciones principales para crear números aleatorios: RAND() y RANDBETWEEN().
Esta guía cubre todo lo que necesitas saber sobre la generación de números aleatorios en Excel, desde fórmulas básicas hasta técnicas avanzadas para crear números únicos sin duplicados. Si necesitas activar las herramientas de análisis primero, consulta cómo agregar Data Analysis en Excel.
Las Funciones de Números Aleatorios en Excel
Excel ofrece dos funciones principales para generar números aleatorios, cada una con un propósito diferente:
Función RAND()
La función RAND() genera números decimales aleatorios entre 0 y 1. Cada vez que tu hoja de cálculo se recalcula (cuando haces cambios o presionas F9), RAND() produce un nuevo valor.
Sintaxis:
=RAND()
Características principales:
- Devuelve valores decimales (por ejemplo, 0.453892, 0.781234)
- El rango va de 0 (inclusive) a 1 (exclusive)
- No requiere parámetros
- Se recalcula automáticamente con cada cambio en la hoja
Ejemplo: Para generar un decimal aleatorio entre 0 y 1, escribe =RAND() en cualquier celda.

Figura 1: Función RAND() generando un decimal aleatorio entre 0 y 1
Función RANDBETWEEN()
La función RANDBETWEEN() genera números enteros aleatorios dentro de un rango específico. Es ideal cuando necesitas números completos para muestreo, simulaciones o selecciones al azar.
Sintaxis:
=RANDBETWEEN(valor_inferior, valor_superior)
Parámetros:
valor_inferior(el entero más pequeño que quieres generar)valor_superior(el entero más grande que quieres generar)
Características principales:
- Devuelve solo números enteros
- Ambos límites son inclusivos
- Requiere dos parámetros
- Se recalcula automáticamente
Ejemplo: =RANDBETWEEN(1, 100) genera un entero aleatorio entre 1 y 100 (inclusive).
Cómo Generar Enteros Aleatorios con RANDBETWEEN
RANDBETWEEN es el método más directo para generar números enteros aleatorios en Excel.
Paso 1: Selecciona la celda
Haz clic en la celda donde quieres que aparezca el número aleatorio.
Paso 2: Ingresa la fórmula
Escribe la fórmula RANDBETWEEN con el rango que necesitas. Por ejemplo:
=RANDBETWEEN(10000, 100000)
Esta fórmula genera un entero aleatorio entre 10,000 y 100,000.

Figura 2: Fórmula RANDBETWEEN generando un entero aleatorio entre 10,000 y 100,000
Paso 3: Presiona Enter
Excel generará de inmediato un número aleatorio dentro del rango especificado.
Paso 4: Copia a múltiples celdas
Para generar varios números aleatorios:
- Selecciona la celda que contiene tu fórmula
- Haz clic y arrastra el controlador de relleno (cuadrado pequeño en la esquina inferior derecha) hacia abajo o a los lados
- Excel generará un nuevo número aleatorio para cada celda

Figura 3: Arrastrando el controlador de relleno para copiar RANDBETWEEN en varias celdas

Figura 4: Múltiples números aleatorios generados en fila con RANDBETWEEN
Nota importante: RANDBETWEEN genera números que pueden repetirse. Si necesitas números aleatorios únicos sin duplicados, consulta las técnicas avanzadas a continuación.
Cómo Generar Decimales Aleatorios en Rangos Personalizados
Aunque RAND() genera números entre 0 y 1, puedes escalar fácilmente el resultado a cualquier rango con aritmética simple.
Decimales aleatorios entre dos números cualesquiera
Para generar números decimales aleatorios entre cualquier valor mínimo y máximo, usa esta fórmula:
=RAND() * (max - min) + min
Ejemplo: Para generar decimales aleatorios entre 50 y 100:
=RAND() * (100 - 50) + 50
Esto produce valores como 67.483, 82.194, 55.872, etc.
Enteros aleatorios usando RAND e INT
También puedes combinar RAND() con INT() para crear enteros aleatorios:
=INT(RAND() * (max - min + 1)) + min
Ejemplo: Enteros aleatorios entre 1 y 10:
=INT(RAND() * 10) + 1
Cómo Generar Números Aleatorios Únicos (Sin Duplicados)
Cuando realizas muestreo aleatorio o necesitas identificadores únicos, los números no deben repetirse. Excel no tiene una función incorporada para esto, pero puedes lograrlo combinando RAND() y RANK.EQ().
Método 1: RAND() + RANK.EQ()
Esta técnica genera un ranking único a partir de números decimales aleatorios.
Paso 1: Crea una columna auxiliar con valores RAND()
En la columna A, comenzando desde A1, ingresa:
=RAND()
Arrastra esta fórmula hacia abajo para tantos números únicos como necesites (por ejemplo, 10 filas para 10 números únicos).
Paso 2: Usa RANK.EQ() para crear enteros únicos
En la columna B, comenzando desde B1, ingresa:
=RANK.EQ(A1, $A$1:$A$10)
Esta fórmula clasifica cada valor aleatorio, creando enteros únicos del 1 al 10.
Paso 3: Copia los valores y elimina la columna auxiliar
- Copia la columna B
- Pega como valores (Pegado especial > Valores)
- Elimina la columna A
Ahora tienes números aleatorios únicos del 1 hasta tu rango especificado.
Método 2: RANDARRAY() (Excel 365 y posterior)
Si tienes Microsoft 365 o Excel 2021+, la función RANDARRAY() ofrece un enfoque más simple:
=RANDARRAY(filas, columnas, min, max, TRUE)
Parámetros:
filas(cantidad de números aleatorios a generar)columnas(normalmente 1 para una sola columna)min(valor mínimo)max(valor máximo)TRUE(genera enteros únicos sin duplicados)
Ejemplo: Generar 50 enteros aleatorios únicos entre 1 y 100:
=RANDARRAY(50, 1, 1, 100, TRUE)
Esta sola fórmula crea 50 números aleatorios únicos de forma instantánea.
Método 3: SORTBY() + SEQUENCE() (Excel 365)
Otro enfoque en Excel 365 para generar enteros aleatorios únicos:
=SORTBY(SEQUENCE(n), RANDARRAY(n))
Ejemplo: Generar números del 1 al 100 en orden aleatorio:
=SORTBY(SEQUENCE(100), RANDARRAY(100))
Esto crea una secuencia aleatorizada de enteros del 1 al 100 sin duplicados.
Aplicaciones Prácticas y Ejemplos
Muestreo aleatorio para investigación
Cuando seleccionas una muestra aleatoria de un conjunto de datos más grande:
- Asigna a cada fila un número aleatorio usando
=RAND()en una columna auxiliar - Ordena todo el conjunto de datos por esta columna aleatoria
- Selecciona las primeras n filas para tu muestra
Esto garantiza un muestreo aleatorio sin sesgo. Para calcular estadísticos sobre tu muestra, puedes usar las medidas de tendencia central como la media, mediana y moda.
Creación de datos de prueba
Genera datos de prueba realistas para tus hojas de cálculo:

Figura 5: Conjunto de datos con números aleatorios generados con RANDBETWEEN para pruebas
Edades aleatorias entre 18 y 65:
=RANDBETWEEN(18, 65)
Precios aleatorios entre 99.99:
=RANDBETWEEN(1000, 9999) / 100
Fechas aleatorias en 2024:
=RANDBETWEEN(DATE(2024,1,1), DATE(2024,12,31))
Luego formatea la celda como fecha.
Generación de porcentajes aleatorios
Para porcentajes aleatorios (0% a 100%):
=RAND()
Luego formatea la celda como porcentaje.
Para un rango de porcentajes específico (por ejemplo, 20% a 80%):
=RAND() * 0.6 + 0.2
Técnicas Avanzadas y Consejos
Congelar números aleatorios (detener el recálculo)
Los números aleatorios se recalculan cada vez que la hoja cambia. Para congelarlos:
- Selecciona las celdas con fórmulas de números aleatorios
- Copia (Ctrl+C)
- Clic derecho > Pegado especial > Valores
- Clic en Aceptar
Las fórmulas se convierten en valores estáticos que no cambiarán. Esto es especialmente útil cuando necesitas calcular la desviación estándar u otros estadísticos sobre los valores generados.
Decimales con RANDBETWEEN
RANDBETWEEN solo produce enteros, pero puedes agregar decimales:
=RANDBETWEEN(1, 100) + RAND()
Esto genera números como 47.638, 82.193, etc.
Para decimales específicos (por ejemplo, dos decimales):
=ROUND(RANDBETWEEN(1, 100) + RAND(), 2)
Generación ponderada de números aleatorios
Para generar números aleatorios donde ciertos valores sean más probables:
Crea una tabla de distribución de probabilidades, luego usa RAND() con VLOOKUP() o INDEX/MATCH para seleccionar valores basados en probabilidades acumuladas.
Errores comunes y soluciones
Error: #NUM!
- Causa: En RANDBETWEEN, el valor_inferior es mayor que el valor_superior
- Solución: Verifica que valor_inferior sea menor o igual a valor_superior
Los números siguen cambiando
- Causa: Excel recalcula las funciones aleatorias automáticamente
- Solución: Convierte las fórmulas a valores usando Pegado especial
Números duplicados
- Causa: RANDBETWEEN permite repeticiones por diseño
- Solución: Usa el método RANK.EQ() o RANDARRAY() con el parámetro TRUE
RAND vs RANDBETWEEN: ¿Cuál Usar?
| Característica | RAND() | RANDBETWEEN() |
|---|---|---|
| Tipo de resultado | Números decimales | Números enteros |
| Rango | 0 a 1 (fijo) | Cualquier rango que especifiques |
| Parámetros | Ninguno | Dos (mín y máx) |
| Ideal para | Probabilidades, porcentajes, escalado | Muestreo, selecciones, conteos |
| Duplicados | Extremadamente improbable | Pueden ocurrir |
| Versión de Excel | Todas | Excel 2007 y posterior |
Tabla 1: Comparación entre las funciones RAND() y RANDBETWEEN() en Excel
Usa RAND() cuando:
- Necesites valores decimales
- Trabajes con probabilidades o porcentajes
- Crees fórmulas personalizadas para distribuciones específicas
Usa RANDBETWEEN() cuando:
- Necesites números enteros
- Selecciones elementos al azar de una lista
- Simules lanzamientos de dados, números de lotería o escenarios similares
Compatibilidad con Google Sheets
Tanto RAND() como RANDBETWEEN() funcionan de forma idéntica en Google Sheets, por lo que estas técnicas aplican para usuarios de Excel y Google Sheets. La sintaxis y el comportamiento son los mismos en ambas plataformas.
Tabla Comparativa: Métodos para Generar Números Aleatorios
| Método | Tipo | Rango | ¿Duplicados? | Versión Excel | Complejidad |
|---|---|---|---|---|---|
| RAND() | Decimal | 0 a 1 | Muy raro | Todas | Fácil |
| RANDBETWEEN() | Entero | Personalizado | Sí | 2007+ | Fácil |
| RAND() + INT() | Entero | Personalizado | Sí | Todas | Media |
| RAND() + RANK.EQ() | Entero (único) | 1 a n | No | Todas | Media |
| RANDARRAY() | Entero o Decimal | Personalizado | Opcional | 365/2021+ | Fácil |
| SORTBY() + SEQUENCE() | Entero (único) | 1 a n | No | 365/2021+ | Media |
Tabla 2: Resumen de todos los métodos disponibles para generar números aleatorios en Excel
Preguntas Frecuentes
Próximos Pasos
Si ya dominas la generación de números aleatorios, estos recursos te ayudarán a aplicar estas técnicas en tu investigación:
- Cómo analizar datos de encuestas en Excel: Usa números aleatorios para crear muestras representativas y valida tus resultados con las herramientas de análisis de Excel.
- Cómo crear tablas de frecuencia en Excel: Organiza y resume los datos de tu muestra aleatoria usando tablas de frecuencia para identificar patrones en la distribución.
Referencias
- Walkenbach, J. (2023). Excel 2024 Bible. Indianapolis: John Wiley & Sons.
- Field, A. (2013). Discovering Statistics Using IBM SPSS Statistics (4th ed.). Sage Publications.
- Thompson, S. K. (2012). Sampling (3rd ed.). Hoboken: John Wiley & Sons.