Generar Números Aleatorios En Excel Sin Duplicados

En este artículo, discutiremos algunas fórmulas diferentes para generar números aleatorios en Excel sin repeticiones. Además, te mostraremos un Generador Aleatorio universal que puede producir una lista de números aleatorios, fechas y cadenas sin repeticiones.

Como probablemente sepas, Microsoft Excel tiene varias funciones para generar números aleatorios como RAND, RANDBETWEEN y RANDARRAY. Sin embargo, no hay garantía de que el resultado de cualquier función esté libre de duplicados.

Este tutorial explica algunas fórmulas para crear una lista de números aleatorios únicos. Por favor, presta atención a que algunas fórmulas solo funcionan en la última versión de Excel 365 mientras que otras pueden ser utilizadas en cualquier versión de Excel 2019, Excel 2016, Excel 2013 y anteriores.

Índice De Contenidos
  1. Obtener una lista de números aleatorios únicos con paso predefinido
  2. Generar una lista de números aleatorios sin duplicados
  3. Crear un rango de números aleatorios no repetidos en Excel
  4. Cómo evitar que los números aleatorios cambien
  5. Cómo generar números aleatorios únicos en Excel 2019, 2016 y anteriores
  6. Generador de números aleatorios para Excel sin repeticiones

Obtener una lista de números aleatorios únicos con paso predefinido

Solo funciona en las últimas versiones de Excel 365 que admiten matrices dinámicas.

Si tienes una suscripción a Microsoft 365, la forma más sencilla de obtener una lista de números aleatorios únicos es combinar 3 nuevas funciones de matrices dinámicas: SORTBY, SEQUENCE y RANDARRAY:

SORTBY(SEQUENCE(n), RANDARRAY(n))

Donde n es el número de valores aleatorios que quieres obtener.

Mira TambiénEliminar El Copyright De Un Sitio Web De WordPressEliminar El Copyright De Un Sitio Web De WordPress

Por ejemplo, para crear una lista de 5 números aleatorios, utiliza 5 para n:

=SORTBY(SEQUENCE(5), RANDARRAY(5))

Introduce la fórmula en la celda superior, pulsa la tecla Enter y los resultados se extenderán automáticamente sobre el número de celdas especificado.

Como puedes ver en la captura de pantalla de abajo, esta fórmula realmente ordena los números del 1 al 5 en orden aleatorio. Si necesitas un generador de números aleatorios clásico sin repeticiones, entonces por favor revisa otros ejemplos que siguen a continuación.

Obtener una lista de números aleatorios únicos con paso predefinido

En la fórmula anterior, solo se define el número de filas a rellenar. Todos los demás argumentos se dejan con sus valores por defecto, lo que significa que la lista comenzará en 1 y se incrementará en 1. Si deseas un primer número y un incremento diferentes, entonces establece tus propios valores para los argumentos 3 (inicio) y 4 (paso) de la función SECUENCIA.

Mira TambiénConseguir Créditos Gratis Para Badoo. TutorialConseguir Créditos Gratis Para Badoo. Tutorial

Por ejemplo, para comenzar en 100 e incrementar en 10, utiliza esta fórmula:

=SORTBY(SEQUENCE(5, , 100, 10), RANDARRAY(5))

utiliza esta fórmula

Cómo funciona esta fórmula:

Trabajando desde dentro hacia fuera, esto es lo que hace la fórmula:

  • La función SECUENCIA crea un array de números secuenciales basados en el valor de inicio especificado o por defecto y en el tamaño de paso incremental. Esta secuencia va al argumento del array de SORTBY.
  • La función RANDARRAY crea una matriz de números aleatorios del mismo tamaño que la secuencia (5 filas, 1 columna en nuestro caso). Los valores mínimo y máximo no importan realmente, así que podemos dejarlos por defecto. Esta matriz va al argumento by_array de SORTBY.
  • La función SORTBY ordena los números secuenciales generados por SEQUENCE usando un array de números aleatorios producido por RANDARRAY.

Ten en cuenta que esta sencilla fórmula crea una lista de números aleatorios no repetitivos con un paso predefinido. Para evitar esta limitación, utiliza una versión avanzada de la fórmula descrita a continuación.

Mira TambiénCrear Una Escena De Fantasía Con Adobe PhotoshopCrear Una Escena De Fantasía Con Adobe Photoshop

Generar una lista de números aleatorios sin duplicados

Solo funciona en las últimas versiones de Excel 365 que soportan matrices dinámicas.

Para generar números aleatorios en Excel sin duplicados, utiliza una de las siguientes fórmulas genéricas.

Números enteros aleatorios:

INDEX(UNIQUE(RANDARRAY(n^2, 1, minmax, TRUE)), SEQUENCE(n))

Decimales aleatorios:

INDEX(UNIQUE(RANDARRAY(n^2, 1, minmax, FALSE)), SEQUENCE(n))

Donde:

  • N es el número de valores a generar.
  • Min es el valor mínimo.
  • Max es el valor máximo.

Por ejemplo, para crear una lista de 5 enteros aleatorios del 1 al 100 sin repeticiones, utiliza esta fórmula:

Mira TambiénAñadir Botones Personalizados A Una Entrada De WordPress. Guía Paso A PasoAñadir Botones Personalizados A Una Entrada De WordPress. Guía Paso A Paso

=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100, TRUE)), SEQUENCE(5))

Generar una lista de números aleatorios sin duplicados

Para generar 5 números decimales aleatorios únicos, pon FALSE en el último argumento de RANDARRAY u omite este argumento:

=INDEX(UNIQUE(RANDARRAY(5^2, 1, 1, 100)), SEQUENCE(5))

Generar una lista de números aleatorios sin duplicados

Cómo funciona esta fórmula:

Mira TambiénScreenshot 13 7Utilizar Los Cuadros De Texto En Excel. Tutorial Actualizado

A primera vista, la fórmula puede parecer un poco complicada, pero si se mira con detenimiento su lógica es muy sencilla:

  • La función RANDARRAY crea una matriz de números aleatorios basada en los valores mínimo y máximo que se especifican. Para determinar cuántos valores hay que generar, se eleva el número deseado de únicos a la potencia de 2. Como la matriz resultante puede tener no se sabe cuántos duplicados, hay que proporcionar una matriz suficiente de valores para que UNIQUE pueda elegir. En este ejemplo, solo necesitamos 5 números aleatorios únicos, pero instruimos a RANDARRAY para que produzca 25 (5^2).
  • La función UNIQUE elimina todos los duplicados y "alimenta" una matriz libre de duplicados a INDEX.
  • De la matriz pasada por UNIQUE, la función INDEX extrae los primeros n valores especificados por SEQUENCE (5 números en nuestro caso). Como los valores ya están en orden aleatorio, no importa realmente cuáles sobreviven.

Nota: En matrices muy grandes, esta fórmula puede ser un poco lenta. Por ejemplo, para obtener una lista de 1.000 números únicos como resultado final, RANDARRAY tendría que generar una matriz de 1.000.000 de números aleatorios (1000^2) internamente.

En tales situaciones, en lugar de elevar a la potencia, puede multiplicar n por, digamos, 10 o 20. Por favor, ten en cuenta que cuanto más pequeño sea el array que se pase a la función UNIQUE (pequeño en relación con el número deseado de valores aleatorios únicos), mayor será la posibilidad de que no todas las celdas del rango de derrame se llenen con los resultados.

Crear un rango de números aleatorios no repetidos en Excel

Solo funciona en las últimas versiones de Excel 365 que soportan matrices dinámicas.

Para generar un rango de números aleatorios sin repeticiones, puedes utilizar esta fórmula:

INDEX(UNIQUE(RANDARRAY(n^2, 1, minmax)), SEQUENCE(rowscolumns))

Donde:

Mira TambiénScreenshot 13 3Cómo Realizar Una Búsqueda Continua Utilizando Los Métodos Find Y FindNext En Excel
  • n es el número de celdas a rellenar. Para evitar cálculos manuales, puedes suministrarlo como (nº de filas * nº de columnas). Por ejemplo, para rellenar 10 filas y 5 columnas, utilice 50^2 o (10*5)^2.
  • Filas es el número de filas a rellenar.
  • Columnas es el número de columnas a rellenar.
  • Mín es el valor más bajo.
  • Máximo es el valor más alto.

Como puedes notar, la fórmula es básicamente la misma que en el ejemplo anterior. La única diferencia es la función SEQUENCE, que en este caso define tanto el número de filas como el de columnas.

Por ejemplo, para llenar un rango de 10 filas y 3 columnas con números aleatorios únicos del 1 al 100, utiliza esta fórmula:

=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100)), SEQUENCE(10, 3))

Y producirá una matriz de decimales aleatorios sin números repetidos:

Crear un rango de números aleatorios no repetidos en Excel

Si necesita números enteros, entonces establece el último argumento de RANDARRAY en TRUE:

Mira TambiénCómo Utilizar La Función RANK En ExcelCómo Utilizar La Función RANK En Excel

=INDEX(UNIQUE(RANDARRAY(30^2, 1, 1, 100, TRUE)), SEQUENCE(10,3))

Crear un rango de números aleatorios no repetidos en Excel

Cómo evitar que los números aleatorios cambien

Todas las funciones aleatorias de Excel, incluyendo RAND, RANDBETWEEN y RANDARRAY, son volátiles, lo que significa que recalculan cada vez que se modifica la hoja de cálculo. Como resultado, se producen nuevos valores aleatorios con cada cambio.

Para evitar que se generen nuevos números automáticamente, utiliza la función Pegado especial > Valores para sustituir las fórmulas por valores estáticos. A continuación te explicamos cómo hacerlo:

Lee: Cómo Utilizar Los Cuadros De Texto En Excel

  • Selecciona todas las celdas con tu fórmula aleatoria y pulsa Ctrl + C para copiarlas.
  • Haz clic con el botón derecho del ratón en el rango seleccionado y haz clic en Pegar especial > Valores. También puedes pulsar Shift + F10 y luego V, que es el atajo para esta opción.

Cómo generar números aleatorios únicos en Excel 2019, 2016 y anteriores

Como ninguna versión distinta de Excel 365 admite matrices dinámicas, ninguna de las soluciones anteriores funciona en versiones anteriores de Excel. Sin embargo, esto no significa que no haya solución alguna, solo tendrás que realizar algunos pasos más:

Mira TambiénEncontrar, Eliminar O Habilitar Referencias Circulares En Excel. TutorialEncontrar, Eliminar O Habilitar Referencias Circulares En Excel. Tutorial

Paso 1: Crea una lista de números aleatorios. En función de tus necesidades, utiliza

  • La función RAND para generar decimales aleatorios entre 0 y 1, o
  • La función RANDBETWEEN para producir enteros aleatorios en el rango que especifiques.

Asegúrate de generar más valores de los que realmente necesitas porque algunos serán duplicados y los borrarás más tarde.

Para este ejemplo, vamos a crear una lista de 10 enteros aleatorios entre 1 y 20 utilizando la siguiente fórmula:

=RANDBETWEEN(1,20)

Para introducir la fórmula en varias celdas de una sola vez, selecciona todas las celdas (A2:A15 en nuestro ejemplo), escribe la fórmula en la barra de fórmulas y pulsa Ctrl + Intro. O bien, puedes introducir la fórmula en la primera celda, como es habitual, y luego arrastrarla hacia abajo a todas las celdas que sean necesarias.

En cualquier caso, el resultado será algo parecido a esto:

Cómo generar números aleatorios únicos en Excel 2019, 2016 y anteriores

Como puedes observar, hemos introducido la fórmula en 14 celdas, aunque finalmente solo necesitamos 10 números aleatorios únicos.

Paso 2: Cambia las fórmulas por valores. Como tanto RAND como RANDBETWEEN recalculan con cada cambio en la hoja de cálculo, tu lista de números aleatorios cambiará continuamente. Para evitar que esto ocurra, utiliza Pegado especial > Valores para convertir las fórmulas en valores.

Para asegurarte de que lo has hecho bien, selecciona cualquier número y mira la barra de fórmulas. Ahora debería mostrar un valor, no una fórmula:

Cambia las fórmulas por valores

Paso 3: Eliminar los duplicados. Para hacerlo, selecciona todos los números, ve a la pestaña Datos > grupo Herramientas de datos y haz clic en Eliminar duplicados. En el cuadro de diálogo Eliminar duplicados que aparece, simplemente haz clic en Aceptar sin cambiar nada.

Eliminar los duplicados

Ya está. Todos los duplicados han desaparecido, y ahora puedes eliminar los números sobrantes.

Generador de números aleatorios para Excel sin repeticiones

Los usuarios de nuestra Ultimate Suite no necesitan realmente ninguna de las soluciones anteriores porque ya tienen un generador aleatorio universal en su Excel. Esta herramienta puede producir fácilmente una lista de enteros no repetidos, números decimales, fechas y contraseñas únicas. He aquí cómo:

Paso 1: En la pestaña Herramientas de Ablebits, haz clic en Aleatorizar > Generador aleatorio.

Paso 2: Selecciona el rango a llenar con números aleatorios.

Paso 3: En el panel Generador aleatorio, haz lo siguiente:

  • Elige el tipo de valor deseado: entero, número real, fecha, booleano, lista personalizada o cadena (¡ideal para generar contraseñas únicas y fuertes!).
  • Establece los valores Desde y Hasta.
  • Selecciona la casilla de valores únicos.
  • Haz clic en Generar.

Eso es todo. El rango seleccionado se llena de números aleatorios no repetidos de una vez:

Generador de números aleatorios para Excel sin repeticiones

►TAMBIÉN DEBERÍAS LEER...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Utilizo cookies propias, de análisis y de terceros para mejorar la experiencia de navegación por mi web. Más información