En ocasiones necesitamos crear un número aleatorio o una colección de ellos. Excel nos proporciona distintas funciones para ello.
Nota: cómo todas las funciones de Excel, cuando se produce un cambio en una celda o se pulsa F9, se recalculará el contenido y, en consecuencia las funciones presentadas en este blog se recalcularán.
ALEATORIO
Esta función no tiene argumentos y nos devuelve un número entre 0 y 1.
Si deseamos obtener un número entre 0 y 10 bastará con multiplicar por 10. Si lo deseamos entre 0 y 100, multiplicamos por 100.
Si deseamos acotar el límite inferior y superior del aleatorio deberemos multiplicarlo por la resta de ambos limites + el límite inferior. Imaginemos un número entre 18 y 65.
En ocasiones no necesitamos que el número obtenido contenga decimales. Bastará con añadir la función ENTERO englobando a la función ALEATORIO.
Bueno, no nos podemos quejar ya que la función ALEATORIO y un poco de imaginación cualquier número.
ALEATORIO.ENTRE
Pero los chicos de Microsoft, en su afán de simplificarnos la vida, nos ofrecen una evolución con la función ALEATORIO.ENTRE cuando necesitamos un número entero entre dos límites dados. Esa función no tiene más que 2 argumentos: límite inferior y límite superior.
Como podemos observar, la manera de obtener un valor aleatorio en la celda A8 es bastante más simple que en la celda A6.
Si necesitamos un número con 2 decimales bastará con dividir el resultado por 100. Obviamente previamente habremos multiplicado por 100 los límites. En este ejemplo vemos como podemos obtener un número con dos decimales entre 1 y 10.
Cuando queremos crear una colección de aleatorios simplemente escribimos la función en la primera celda y arrastramos por todo el rango. En este ejemplo hemos creado una función en la fila 2 y la hemos arrastrado por toda la columna.
Pero incluso para eso tenemos funciones más simples. Imaginemos que tenemos una lista de clientes que pueden acceder a nuestra red y queremos asignarles un PIN de 4 dígitos que cambia cada mes. Podemos crear 3 funciones ALEATORIO.ENTRE y arrastrarlas por las columnas o utilizar otra función.
MATRIZALEAT
Esta función contiene 4 argumentos:
- Filas. La cantidad de filas que deseamos rellenar. Si no indicamos nada el valor por defecto es 1.
- Columnas. La cantidad de columnas a rellenar. Si no indicamos nada el valor por defecto es 1.
- Mínimo. El valor mínimo. Si no indicamos nada el valor por defecto es 0. Nota: cualquier valor superior a 1 implica un error #VALOR si no se indica un valor máximo.
- Máximo. El valor máximo. Si no indicamos nada el valor por defecto es 1. Nota: siempre superior al valor indicado en el argumento mínimo.
- Entero. Un boolean VERDADERO/FALSO dónde FALSO devuelve valores con decimales mientras que VERDADERO devuelve valores enteros. Valor por defecto FALSO.
Nota: una vez generados los códigos, y para evitar que cambien en cada edición, habrá que copiar y pegar como valores.
Ampliando los aleatorios a las letras: cómo obtener un carácter aleatorio.
Para crear un carácter aleatorio primero debemos saber un par de cosas.
- Los caracteres se pueden identificar por un número. Así la A es el 65 mientras que la Z es el 90.
- Excel nos proporciona una función CARACTER dónde se pasa como argumento el número de carácter.
Sabiendo eso y conociendo las funciones de generación de aleatorios es posible crear un carácter aleatorio:
=CARACTER(ALEATORIO.ENTRE(65;90))
Si te interesa una cuarto de vuelta más sobre eso último y quieres ver cómo generar passwords aleatorios en una sola función (bueno, más bien en una colección de funciones pero en una sola celda) me lo haces saber.
0 comentarios