¿Cómo rellenar aleatoriamente valores de una lista de datos en Excel?
La selección aleatoria de valores de una lista predefinida en Excel es una tarea común con aplicaciones en análisis de datos, simulaciones, asignación aleatorizada, muestreo, pruebas de escenarios y más. Por ejemplo, podrías querer simular sorteos para un premio, asignar casos de prueba aleatorizados para aseguramiento de calidad o distribuir tareas aleatoriamente entre los miembros del equipo. Lograr esto en Excel puede hacer que tu flujo de trabajo sea mucho más eficiente y menos propenso a errores en comparación con la selección manual.
Esta guía completa te llevará a través de varios métodos para lograr este objetivo, desde enfoques basados en fórmulas sencillos adecuados para todos los usuarios, hasta la automatización avanzada con VBA e incluso con herramientas especializadas y fáciles de usar como Kutools para Excel. Cada método tiene sus propias fortalezas y escenarios ideales de uso, los cuales se analizan a continuación para ayudarte a elegir la mejor solución para tus necesidades.
Rellenar aleatoriamente valores de una lista de datos con fórmulas
En esta sección, te guiaremos a través de varios métodos prácticos basados en fórmulas para rellenar aleatoriamente valores de una lista especificada. Estas soluciones no requieren instalación adicional y se pueden implementar rápidamente en la mayoría de las versiones modernas de Excel.
✅ Fórmula 1: Funciones INDICE + ALEATORIO.ENTRE
La combinación de las funciones INDICE y ALEATORIO.ENTRE es un método clásico y compatible entre versiones para elegir valores aleatoriamente de una lista. Es adecuada para generar rápidamente uno o múltiples valores al azar donde las selecciones duplicadas son aceptables, como en el muestreo aleatorio o la generación de datos ficticios.
Para usar este método, simplemente copia o ingresa la siguiente fórmula en una celda en blanco (por ejemplo, B2), luego arrastra el controlador de relleno hacia abajo para llenar tantos valores aleatorios como sean necesarios. Recuerda que, dado que la fórmula involucra funciones volátiles (como ALEATORIO.ENTRE), su resultado cambiará cada vez que la hoja recalcule.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15)))
- A2:A15: Representa la lista de valores de la cual deseas seleccionar aleatoriamente.
- CONTARA($A$2:$A$15): Cuenta dinámicamente el número de elementos en tu lista, asegurando que la fórmula siga siendo robusta si cambia la longitud de la lista.
- ALEATORIO.ENTRE(1, n): Genera un número entero aleatorio entre 1 y n (el número de elementos en la lista).
- INDICE(rango, número): Recupera el elemento correspondiente a la posición seleccionada aleatoriamente de tu lista.
Precauciones: Dado que el valor se actualiza con cualquier cambio en la hoja de cálculo, si necesitas que los resultados permanezcan inalterados, asegúrate de copiar las celdas rellenas y pegarlas como valores. Además, esta estrategia no excluye duplicados; si se requiere unicidad, considera los métodos descritos en secciones posteriores o realiza un post-procesamiento.
✅ Fórmula 2: Funciones INDICE + ALEATORIO.MATRIZ (Excel 365 / 2021+)
La combinación de las funciones INDICE y ALEATORIO.MATRIZ es adecuada para usuarios de Excel 365 y Excel 2021. Este enfoque utiliza matrices dinámicas para generar lotes de selecciones aleatorias de una sola vez, optimizando flujos de trabajo que requieren muchas selecciones aleatorias en un solo paso. Es especialmente útil cuando necesitas una cierta cantidad de selecciones aleatorias rápidamente. Ten en cuenta, sin embargo, que, como la fórmula anterior, este método no garantiza la unicidad de los resultados dentro del lote.
Para usar esta solución, ingresa la fórmula en una celda en blanco, como B2, y presiona Enter. Excel automáticamente “derramará” los valores aleatorios generados en filas subsiguientes. Por ejemplo, la siguiente fórmula genera 5 valores aleatorios de la lista:
=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE))
- A2:A15: La lista designada de datos para la selección aleatoria.
- CONTARA(A2:A15): Cuenta las entradas en la lista objetivo.
- ALEATORIO.MATRIZ(5,1,1, CONTARA(...), VERDADERO): Genera 5 números enteros aleatorios entre 1 y la última posición en la lista, produciendo una matriz vertical (1 columna).
- INDICE(A2:A15, …): Mapea cada número aleatorio a un valor de tu lista.
Consejos: Si necesitas una cantidad diferente de valores aleatorios, simplemente ajusta el 5 en ALEATORIO.MATRIZ(5,1, ...)
según corresponda. Siempre recuerda pegar como valores si necesitas que los resultados permanezcan fijos, ya que las salidas basadas en fórmulas se actualizan con los cambios de la hoja.
Rellenar aleatoriamente valores de una lista con VBA (Solución Avanzada y Personalizable)
Si necesitas automatizar grandes asignaciones de valores aleatorios, evitar duplicados o requieres más personalización (como aplicar lógica compleja durante la selección), un enfoque con VBA (Visual Basic for Applications) es ideal. VBA te permite generar selecciones aleatorias verdaderamente únicas, aplicar lógica de distribución personalizada y repetir tareas con un solo comando, lo que es útil para simulaciones avanzadas, asignaciones automáticas aleatorias o trabajar con conjuntos de datos extensos.
Esta solución es adecuada para usuarios familiarizados con macros o aquellos que buscan automatizar sus flujos de trabajo en Excel.
1. Abre el editor de VBA haciendo clic en Desarrollador > Visual Basic (o presiona Alt + F11), lo que abrirá la ventana Microsoft Visual Basic para Aplicaciones. Luego, ve a Insertar > Módulo y pega el código a continuación en la ventana del módulo:
Sub RandomFillFromList_NoDuplicates()
Dim srcRange As Range
Dim destRange As Range
Dim srcValues As Variant
Dim destCount As Integer
Dim usedIndexes As Object
Dim i As Integer
Dim randIndex As Integer
On Error Resume Next
Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
If srcRange Is Nothing Then Exit Sub
Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
If destRange Is Nothing Then Exit Sub
srcValues = Application.Transpose(srcRange.Value)
destCount = destRange.Cells.Count
Set usedIndexes = CreateObject("Scripting.Dictionary")
If UBound(srcValues) < destCount Then
MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
Exit Sub
End If
Randomize
For i = 1 To destCount
Do
randIndex = Int(Rnd() * UBound(srcValues)) + 1
Loop While usedIndexes.Exists(randIndex)
usedIndexes(randIndex) = True
destRange.Cells(i).Value = srcValues(randIndex)
Next
End Sub
2. Ejecuta la macro haciendo clic en el botón en la barra de herramientas de VBA. La macro te pedirá que selecciones (a) la lista fuente (el rango de valores de donde elegir), y (b) el rango de salida (para el número de valores aleatorios extraídos, simplemente selecciona un número igual de celdas). El código asegura que no haya valores duplicados en la salida si la lista fuente es lo suficientemente grande. De lo contrario, mostrará una advertencia.
Este método VBA ofrece las siguientes ventajas y consideraciones:
- Ventajas: Garantiza selecciones aleatorias sin repeticiones; permite manejar listas y lotes muy grandes; fácil de automatizar tareas repetitivas.
- Desventajas: Requiere archivos de Excel habilitados para macros. Si tu libro restringe macros, este enfoque puede no ser adecuado. Pueden ocurrir errores si la cantidad de destino supera el número de elementos fuente.
- Recordatorios de error: La macro te notificará si no hay suficientes valores únicos en la lista fuente para tu solicitud.
- Consejos de personalización: Puedes adaptar aún más el código para permitir duplicados eliminando la verificación de unicidad, o para implementar lógica de ponderación o filtrado para escenarios más especializados.
Seleccionar y rellenar aleatoriamente valores de una lista de datos con Kutools para Excel (Todas las versiones)
Kutools para Excel proporciona una solución accesible e interactiva para seleccionar y rellenar aleatoriamente valores de una lista. Es ideal para usuarios que desean manejar asignaciones aleatorias sin escribir fórmulas o código, o aquellos que necesitan procesar selecciones en masa rápidamente con mínima entrada manual. Kutools también proporciona opciones para controlar la salida, como el número de valores a seleccionar, y lo hace a través de una interfaz de diálogo sencilla.
Después de instalar Kutools para Excel, procede de la siguiente manera para usar su funcionalidad integrada de selección aleatoria:
- Selecciona el rango que contiene los valores que deseas elegir al azar.
- Haz clic en Kutools > Rango > Ordenar / Seleccionar Rango Aleatoriamente. Consulta la captura de pantalla a continuación:
- En el Ordenar / Seleccionar Rango Aleatoriamente cuadro de diálogo, ve a la pestaña Seleccionar y haz lo siguiente:
- Especifica el número de celdas a seleccionar aleatoriamente.
- Asegúrate de elegir la opción Seleccionar celdas aleatorias dentro de Tipos de Selección.
- Finalmente, haz clic en el botón Aceptar .
- El número indicado de celdas aleatorias será resaltado o seleccionado. Luego puedes copiar y pegar estas celdas en otro lugar según sea necesario.
Además de la simplicidad, el método Kutools también previene errores comunes con la aleatorización manual y no requiere familiaridad con las fórmulas de Excel ni con la configuración de macros. Si quieres valores únicos en tu selección, asegúrate de que la lista fuente sea mayor que el número de elementos que planeas elegir, y verifica las opciones dentro del cuadro de diálogo para seleccionar sin duplicados si están disponibles.
🔚 Conclusión
Rellenar aleatoriamente valores de una lista predefinida en Excel puede manejarse eficientemente utilizando una variedad de técnicas adecuadas para diferentes niveles de conocimiento y escenarios:
- Para todas las versiones de Excel, la fórmula INDICE más ALEATORIO.ENTRE es rápida y confiable para generar selecciones aleatorias, especialmente en listas donde permitir duplicados es aceptable.
- Si tienes Excel 365 o 2021, la solución ALEATORIO.MATRIZ + INDICE proporciona una selección por lotes más dinámica que acelera los procesos cuando se necesitan muchas salidas a la vez.
- Para necesidades altamente personalizables, como asegurar que no haya duplicados, automatizar grandes asignaciones aleatorias o manejar lógica de selección compleja, el método VBA ofrece máxima flexibilidad, aunque los usuarios deben estar familiarizados con la ejecución de macros.
- Si prefieres un enfoque sin código y fácil de usar, Kutools para Excel te permite generar selecciones aleatorias mediante una interfaz gráfica, lo que lo hace adecuado tanto para principiantes como para usuarios avanzados que necesitan resultados rápidos.
Es importante considerar si necesitas selecciones únicas o puedes permitir duplicados, cuántas selecciones aleatorias necesitas y tu nivel de comodidad con las fórmulas o macros de Excel. Antes de compartir o guardar resultados aleatorios, usa la función pegar-como-valores para evitar recálculos accidentales. Para usuarios interesados en explorar soluciones adicionales de Excel, visita nuestra sección de tutoriales de Excel para obtener más guías y consejos prácticos.
Sugerencias de solución de problemas: Verifica nuevamente los rangos de la lista para asegurar precisión, ten cuidado con el recálculo con funciones volátiles y asegúrate de que tus configuraciones de seguridad de macros permitan la ejecución de VBA al usar soluciones basadas en código. Si ocurren errores al usar VBA (como tamaño insuficiente de la lista fuente), sigue el mensaje y reconsidera tus rangos.
Artículos relacionados:
Selección aleatoria de celdas basada en criterios en Excel
Agregar aleatoriamente color de fondo/relleno para celdas en Excel
Las mejores herramientas de productividad para Office
Mejora tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab incorpora la interfaz de pestañas en Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!
Todos los complementos de Kutools. Un solo instalador
El paquete Kutools for Office agrupa complementos para Excel, Word, Outlook y PowerPoint junto con Office Tab Pro, ideal para equipos que trabajan en varias aplicaciones de Office.





- Suite todo en uno: complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un solo instalador, una licencia: configuración en minutos (compatible con MSI)
- Mejor juntos: productividad optimizada en todas las aplicaciones de Office
- Prueba completa de30 días: sin registro ni tarjeta de crédito
- La mejor relación calidad-precio: ahorra en comparación con la compra individual de complementos