Cómo generar una lista aleatoria de nombres en Excel
El reciente artículo "Cómo generar letras aleatorias en Excel" te muestra cómo generar letras aleatorias. Es un tutorial interesante, pero un ejemplo más práctico podría ser retornar una lista de contenido de texto significativo, como una lista aleatoria de nombres. En este tutorial de Excel, utilizaremos una expresión dinámica con RANDARRAY() en su centro para generar una lista aleatoria de nombres. Al incluir un valor de entrada, podrás controlar la cantidad de nombres aleatorios generados.
Estoy usando Microsoft 365 en un sistema Windows 10 de 64 bits. Esta función solo está disponible en Microsoft 365, Excel para la web, Excel 2021 y Excel para iPad, iPhone y tabletas y teléfonos Android. Para tu conveniencia, puedes descargar el archivo .xlsx de demostración.
¿Qué es un array dinámico?
RANDARRAY() es una de las varias nuevas funciones de array dinámico. Si alguna vez has ingresado una expresión utilizando Ctrl + Shift + Entrar, ya estás familiarizado con cómo Excel solía trabajar con arrays dinámicos. Gracias a las nuevas funciones de array dinámico, los requisitos complicados son más fáciles de cumplir que nunca. Los resultados se derraman en las celdas de abajo, llenando tantas celdas como sea necesario para completar los cálculos de la expresión. Eso se llama el rango de derramamiento. Si ves un error de derrame, significa que el rango necesario para cumplir la función no está disponible; mueve la función o elimina el contenido que está en el camino. Cuando seleccionas cualquier celda en un rango de derramamiento, Excel resalta todo el rango con un borde azul. Siempre encontrarás la expresión en la celda superior de ese rango.
Acerca de RANDARRAY() en Excel
La función RANDARRAY() devuelve un array (rango de derramamiento) de números aleatorios. Tú proporcionas el número de filas y columnas para rellenar, los valores mínimo y máximo, y si los valores devueltos son enteros o decimales. La sintaxis de esta función
RANDARRAY([filas],[columnas],[min],[max],[entero])
5 herramientas de software de salud gratuitas y de código abierto que debes conoceres bastante única ya que todos los argumentos son opcionales. Si omites todos los argumentos, la función devuelve un único valor entre 0 y 1, permitiendo decimales. Además, si tu conjunto de datos está en una Tabla, el array se adapta a medida que agregas y eliminás datos, siempre y cuando utilices referencias estructuradas. Este tipo de referencias utiliza nombres de columnas y otros símbolos en lugar de referencias de celdas o rangos. Eso es lo que utilizaremos en este artículo. Si no estás familiarizado con las referencias estructuradas, no te preocupes. Te mostraré más sobre esto más adelante.
Los argumentos son bastante autoexplicativos, pero mencionaré que el valor predeterminado de "entero" es FALSO, lo que permite valores decimales. Especifica VERDADERO cuando solo quieras enteros. Además, los enlaces entre libros solo funcionan cuando ambos libros están abiertos, por lo que no es una solución flexible si necesitas evaluar datos vinculados.
Comencemos con un ejemplo sencillo que devuelve valores enteros entre 0 y 10 en un rango de seis filas y dos columnas:
RANDARRAY(6,2,0,10,VERDADERO)
Como se puede ver en Figura A, esta función nos da un conjunto de números enteros aleatorios. Como se mencionó antes, la función se encuentra en la celda superior izquierda (B2), y un borde rodea todo el rango de derramamiento. Haciendo clic en cualquier celda del rango de celdas mostrará ese borde. Sin embargo, no queremos valores aleatorios; queremos cadenas de texto aleatorias. Ahora que sabes cómo usar esta función, trabajemos en una expresión que incluya RANDARRAY() para retornar un conjunto de nombres aleatorios.
Figura A
Cuál es el mejor sistema operativo para tu laptop Comparación de Chrome OSGenerar nombres aleatorios
RANDARRAY() devuelve números, no texto, por lo que la expresión final es un poco más compleja de lo que RANDARRAY() puede manejar por sí solo. Primero, necesitamos algunos datos de origen: un rango de nombres. En Figura B se muestra un objeto de Tabla con una única columna, "Nombre". Para convertir los datos en una Tabla, selecciona los datos y presiona Ctrl + T. Excel proporcionará una nombre predeterminado a la Tabla, pero puedes cambiarlo haciendo clic dentro de la Tabla para mostrar la pestaña Diseño de tabla. El control de Nombre de Tabla está a la izquierda. Simplemente ingresa un nombre, como "Nombres", y presiona Enter. La referencia estructurada para esta Tabla es Nombres[Nombre].
Figura B
En este punto, podemos devolver un conjunto de valores aleatorios, pero queremos usar esos valores para generar una lista de nombres aleatorios (texto). Para lograr esto, utilizaremos la función INDEX() para indicarle a la función RANDARRAY() que apunte a Nombres[Nombre] de la siguiente manera:
=INDEX(Nombres[Nombre],RANDARRAY(D2,1,1,CONTAR.SI(Nombres[Nombre])))
Aprovecha al máximo el planificador de reuniones de IA de Microsoft 365Figura C muestra la expresión final y el valor de entrada en D2.
Figura C
Nombres[Nombre] es la referencia estructurada que mencioné antes. Si seleccionas la Tabla real, Excel utilizará una versión más larga, Nombres[[#Todo],[Nombre]], pero la referencia más corta funciona de la misma manera, así que no te preocupes por esa ligera diferencia.
La función CONTAR.SI() establece los valores máximos (utilizando el argumento max) con el mismo número de celdas en la Tabla. Actualmente, eso es 10. El uso de esta función hace que la expresión sea dinámica, se actualizará a medida que agregues y elimines nombres en la Tabla. Podrías utilizar un número explícito o incluso un valor de entrada, pero en el contexto de este ejemplo, CONTAR.SI() tiene más sentido.
La referencia a D2 como primer argumento de RANDARRAY() (filas) determina cuántos nombres devolverá la expresión. Simplemente cambia el valor en D2 para cambiar la cantidad de nombres en la lista aleatoria. INDEX() identifica los valores a utilizar en la lista. Podrías agregar el argumento VERDADERO a RANDARRAY(), pero como estamos obteniendo texto, no importará.
Cómo bloquear y desbloquear una reunión en Microsoft TeamsTrabajemos en el ejemplo mostrado en Figura C, donde el valor de entrada en D2 es 6. INDEX() devuelve una lista interna de todos los nombres en la Tabla Nombres. RANDARRAY() se evalúa como
RANDARRAY(D2,1,1,CONTAR.SI(Nombres[Nombre]))
RANDARRAY(6,1,1,10)
lo cual retorna una única lista de seis números aleatorios entre 1 y 10. La función INDEX() utiliza esos seis números aleatorios para retornar nombres de la Tabla Nombres.
Ten en cuenta que la lista se actualiza cada vez que calculas la hoja, lo cual incluye cada vez que haces casi cualquier cosa a nivel de hoja. La lista aleatoria no será única y no está ordenada. Al agregar la función de array dinámico SORT(), como se muestra en Figura D, puedes obtener una lista ordenada utilizando la siguiente expresión:
=SORT(INDEX(Nombres[Nombre],RANDARRAY(D2,1,1,CONTAR.SI(Nombres[Nombre]))))
Cómo grabar una reunión en Microsoft Teams y compartir la grabaciónFigura D
Generar números aleatorios es fácil. Se necesita un poco más de trabajo para retornar caracteres aleatorios y un poco más para retornar palabras y frases aleatorias con significado. Gracias a RANDARRAY(), esto último es más fácil de lo que podría ser de otra manera. Utilizamos una lista de nombres, pero podrías utilizar un conjunto de términos, frases, etc.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo generar una lista aleatoria de nombres en Excel , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados