¿Cómo rellenar celdas con valores aleatorios tomados de una lista en Excel?
Seleccionar valores aleatoriamente de una lista predefinida en Excel es una tarea habitual con aplicaciones en análisis de datos, simulaciones, asignaciones aleatorias, muestreos, escenarios de pruebas y más. Por ejemplo, puede simular sorteos para un premio, asignar casos de prueba aleatorios en garantía de calidad o distribuir tareas al azar entre los miembros del equipo. Hacerlo en Excel agiliza su flujo de trabajo, haciéndolo mucho más eficiente y menos propenso a errores que la selección manual.
Esta guía completa le presenta diversos métodos para lograr este objetivo: desde enfoques sencillos basados en fórmulas, ideales para cualquier usuario, hasta la automatización avanzada con VBA e incluso herramientas especializadas e intuitivas como Kutools para Excel. Cada método ofrece ventajas específicas y se adapta a distintos escenarios de uso, que se detallan a continuación para ayudarle a elegir la solución perfecta para sus necesidades.
Rellenar valores aleatoriamente desde una lista de datos con fórmulas
En esta sección, le guiaremos paso a paso mediante varios métodos prácticos basados en fórmulas para rellenar valores aleatoriamente desde 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 ÍNDICE + ALEATORIO.ENTRE
La combinación de las funciones ÍNDICE y ALEATORIO.ENTRE es una forma clásica y compatible con todas las versiones para seleccionar valores aleatorios de una lista. Es ideal para generar rápidamente uno o varios valores aleatorios cuando se aceptan selecciones duplicadas, como en muestreos aleatorios o generación de datos ficticios.
Para usar este método, basta con copiar o introducir la siguiente fórmula en una celda vacía (por ejemplo, B2) y arrastrar el controlador de relleno hacia abajo para generar tantos valores aleatorios como necesite. Tenga en cuenta que, al incluir funciones volátiles (como ALEATORIO.ENTRE), los resultados se actualizarán cada vez que la hoja se recalcule.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15))) 
- A2:A15: representa la lista de valores de la que desea seleccionar aleatoriamente.
- CONTARA($A$2:$A$15): Cuenta dinámicamente el número de elementos de tu lista, garantizando que la fórmula siga siendo robusta aunque cambie la longitud de la lista.
- ALEATORIO.ENTRE(1, n): Genera un número entero aleatorio entre 1 y n (el número total de elementos de la lista).
- ÍNDICE(rango; número): Recupera el elemento situado en la posición seleccionada aleatoriamente de tu lista.
Precauciones: Dado que el valor se actualiza automáticamente con cualquier cambio en la hoja de cálculo, si necesita que los resultados permanezcan inalterados, copie las celdas rellenadas y péguelas como valores. Además, este método no elimina duplicados; si requiere unicidad, considere los métodos descritos en secciones posteriores o aplique un postprocesamiento.
✅ Fórmula 2: Funciones ÍNDICE + MATRIZ.ALEATORIO (Excel 365 / 2021+)
La combinación de las funciones ÍNDICE y MATRIZ.ALEATORIO es ideal para usuarios de Excel 365 y Excel 2021. Este enfoque aprovecha las matrices dinámicas para generar lotes completos de selecciones aleatorias de forma instantánea, optimizando flujos de trabajo que requieren múltiples selecciones aleatorias en un solo paso. Resulta especialmente útil cuando necesita obtener rápidamente una cantidad específica de elementos seleccionados al azar. No obstante, al igual que la fórmula anterior, este método no garantiza que los resultados dentro del lote sean únicos.
Para utilizar esta solución, introduce la fórmula en una celda vacía, como B2, y pulsa Intro. Excel “desbordará” automáticamente los valores aleatorios generados en las filas siguientes. 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: El rango de datos designado para la selección aleatoria.
- CONTARA(A2:A15): Cuenta las entradas en la lista de destino.
- MATRIZ.ALEATORIO(5,1,1, CONTARA(...); VERDADERO): Genera 5 números enteros aleatorios entre 1 y la última posición de la lista, creando una matriz vertical (de 1 columna).
- ÍNDICE(A2:A15; …): Vincula cada número aleatorio con un valor de tu lista.
Consejos: Si necesita una cantidad distinta de valores aleatorios, basta con ajustar el valor 5 en MATRIZ.ALEATORIO(5,1, ...) según sus necesidades. Recuerde siempre pegar como valores si quiere que los resultados permanezcan fijos, ya que las salidas generadas por fórmulas se actualizan cada vez que cambia la hoja.
Rellenar valores aleatoriamente desde una lista con VBA (solución avanzada y personalizable)
Si necesita automatizar la asignación de valores aleatorios a gran escala, prevenir entradas duplicadas o requiere una mayor personalización —como aplicar lógicas complejas durante la selección—, un enfoque con VBA (Visual Basic para Aplicaciones) es ideal. VBA le permite generar selecciones verdaderamente únicas, aplicar lógicas personalizadas de distribución y repetir tareas con un solo comando, lo que resulta especialmente útil para simulaciones avanzadas, asignaciones aleatorias automatizadas o el manejo de conjuntos de datos extensos.
Esta solución es ideal para usuarios familiarizados con las macros o que busquen automatizar sus flujos de trabajo en Excel.
1. Abra el editor de VBA haciendo clic en Programador > Visual Basic(o pulse)Alt + F11), lo que abrirá la ventana de Microsoft Visual Basic para Aplicaciones. A continuación, vaya a Insertar > Módulo y pegue el código siguiente 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. Ejecute la macro haciendo clic en el
botón de la barra de herramientas de VBA. La macro le pedirá que seleccione (a) la lista de origen (el rango de valores del que elegir) y (b) el área de ubicación de la lista (para generar el número deseado de valores aleatorios, simplemente seleccione un rango con el mismo número de celdas). El código garantiza que no haya valores duplicados en la salida, siempre que la lista de origen sea suficientemente grande. De lo contrario, mostrará una advertencia.
Este método de VBA ofrece las siguientes ventajas y consideraciones:
- Ventajas: Garantiza selecciones aleatorias sin repeticiones, permite gestionar listas y lotes muy grandes y facilita la automatización de tareas repetitivas.
- Desventajas: Requiere un libro de Excel habilitado para macros (archivos de Excel). Si su libro tiene las macros restringidas, este enfoque podría no ser adecuado. Pueden producirse errores si el número de destinos supera la cantidad de elementos de origen.
- Recordatorios de error: La macro le notificará si la lista de origen no contiene suficientes valores únicos para su solicitud.
- Consejos de personalización: Puede adaptar aún más el código para permitir duplicados eliminando la comprobación de unicidad, o implementar lógica de ponderación o filtrado en escenarios más especializados.
Seleccione y rellene aleatoriamente valores a partir de una lista de datos con Kutools para Excel (todas las versiones)
Kutools para Excel ofrece una solución accesible e interactiva para seleccionar y rellenar valores aleatorios a partir de una lista. Es ideal tanto para usuarios que quieran gestionar asignaciones aleatorias sin escribir fórmulas ni código como para quienes necesiten procesar selecciones masivas de forma rápida con mínima intervención manual. Además, Kutools incluye opciones para controlar la salida —como el número de valores a seleccionar— mediante una interfaz de diálogo sencilla.
Tras instalar Kutools para Excel, siga estos pasos para utilizar su funcionalidad integrada de selección aleatoria:
- Seleccione el rango que contiene los valores entre los que desea elegir aleatoriamente.
- Haga clic en Kutools > Rango > Ordenar, Seleccionar o Aleatorizar. Consulte la siguiente captura de pantalla:

- En el cuadro de diálogo Ordenar, Seleccionar o Aleatorizar, vaya a la pestaña Seleccionary realice lo siguiente:
- Indique el número de celdas que desea seleccionar aleatoriamente.
- Asegúrese de seleccionar la opción Celda dentro de Tipo de Selección.
- Por último, haga clic en el botón Aceptar.

- Se resaltarán o seleccionarán el número indicado de celdas aleatorias, que podrá copiar y pegar en otro lugar según sus necesidades.

Además de su simplicidad, el método de Kutools evita errores comunes en la aleatorización manual y no requiere que conozca fórmulas ni sepa configurar macros en Excel. Si desea valores únicos en su selección, asegúrese de que la lista de origen sea más larga que el número de elementos que planea elegir y revise las opciones disponibles en el cuadro de diálogo para seleccionar sin duplicados, cuando corresponda.
🔚Conclusión
Rellenar aleatoriamente valores a partir de una lista predefinida en Excel puede gestionarse eficazmente mediante diversas técnicas adaptadas a distintos niveles de conocimiento y escenarios:
- Para todas las versiones de Excel, la combinación de la fórmula ÍNDICE con ALEATORIO.ENTRE ofrece una forma rápida y fiable de generar selecciones aleatorias, especialmente en listas donde se permiten duplicados.
- Si tienes Excel 365 o 2021, la combinación de MATRIZ.ALEATORIO + ÍNDICE ofrece una selección por lotes más dinámica que agiliza los procesos cuando necesitas obtener muchos resultados al mismo tiempo.
- Para necesidades altamente personalizables —como garantizar la ausencia de duplicados, automatizar asignaciones aleatorias a gran escala o gestionar lógicas complejas de selección—, el método VBA ofrece la máxima flexibilidad, aunque requiere que los usuarios estén familiarizados con la ejecución de macros.
- Si prefiere un enfoque sin código e intuitivo, Kutools para Excel le permite generar selecciones aleatorias mediante una interfaz gráfica, ideal tanto para principiantes como para usuarios avanzados que necesiten resultados rápidos.
Tenga en cuenta si necesita selecciones únicas o puede permitir duplicados, cuántas selecciones aleatorias requiere y su nivel de comodidad con las fórmulas o macros de Excel. Antes de compartir o guardar los resultados aleatorios, use la opción de pegado como valores para evitar recálculos accidentales. Si quiere explorar más soluciones de Excel,visite nuestra sección de tutoriales de Excel para obtener más guías prácticas y consejos.
Sugerencias para la resolución de problemas: Compruebe minuciosamente la exactitud de los rangos de la lista, tenga en cuenta el recálculo provocado por funciones volátiles y asegúrese de que la configuración de seguridad de macros permita la ejecución de VBA al utilizar soluciones basadas en código. Si aparecen errores al usar VBA (por ejemplo, tamaño insuficiente de la lista de origen), siga las indicaciones y revise sus rangos.
Artículos relacionados:
Seleccionar celdas aleatoriamente según criterios en Excel
Agregar aleatoriamente fondo/Color de relleno a celdas en Excel
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos


