Letras aleatorias

Aunque no existe una función en Excel que nos permita generar letras aleatorias, podemos lograr dicho objetivo con la combinación de un par de funciones: la función CARACTER y la función ALEATORIO.ENTRE.

La clave para entender el método que vamos a utilizar es saber que, un computador solamente entiende cuando se le habla en números y por esa razón existen códigos de caracteres que determinan la equivalencia entre números y letras.

Uno de los primeros códigos de caracteres utilizados en los computadores fue el código ASCII que permitía representar hasta 127 caracteres.

Letras aleatorias

Pronto los computadores tuvieron necesidad de utilizar una mayor cantidad de caracteres y surgió el código ASCII extendido con el que se podían representar hasta 255 caracteres. Aun cuando se tenía un código extendido, las letras mayúsculas y minúsculas permanecieron dentro de las primeras 127 posiciones.

En nuestros días los computadores siguen utilizando este código de caracteres y Excel no podía ser la excepción. La función que nos permite obtener fácilmente el número de código de un carácter es la función CARACTER.

La función CARACTER en Excel

La función CARACTER solo tiene un argumento que acepta un número entre 1 y 255 para devolvernos el carácter equivalente. Considera la siguiente fórmula:

=CARACTER(65)

La función CARACTER obtendrá aquél carácter cuyo valor sea equivalente a 65. El resultado lo puedes ver en la siguiente imagen:

Letras aleatorias en Excel

El número 65 equivale a la letra A (mayúscula) y lo puedes comprobar con la tabla de código ASCII mostrada en la sección anterior. Por otro lado, si quisiera obtener la letra Z (mayúscula), entonces debo pedir a la función CARACTER  el número 90.

Cómo generar letras aleatorias en Excel

De esta manera comprobamos que la función CARACTER obtiene el carácter ASCII equivalente al número que hemos indicado como argumento.

Ahora observa que en la siguiente imagen la columna A tiene los números 65 al 90 y la columna D los números 97 al 122. Las columnas B y E utilizan la función CARACTER para obtener el carácter correspondiente para cada uno de los números.

Letras y caracteres aleatorios en Excel

La fórmula de la celda E2 nos devuelve el carácter que corresponde al número 97 que es la letra a (minúscula).

Algo que siempre debes recordar es que las letras mayúsculas y minúsculas tienen códigos diferentes por lo que al momento de generar las letras aleatorias tendremos que decidir si queremos letras mayúsculas o minúsculas.

Generar letras aleatorias en Excel

Ahora que ya sabemos cómo obtener una letra a partir de un número, podemos utilizar la función ALEATORIO.ENTRE para generar números aleatorios y posteriormente convertirlos en letras. Para nuestro primer ejemplo generaré letras aleatorias mayúsculas y para eso utilizaré la siguiente fórmula:

=CARACTER(ALEATORIO.ENTRE(65, 90))

El número devuelto por la función ALEATORIO.ENTRE estará siempre en el rango 65 y 90 por lo que la función CARACTER solo nos devolverá letras mayúsculas. Al copiar la fórmula anterior en el rango de celdas A1:F10 obtengo el siguiente resultado:

Aleatorio de letras en Excel

Cada vez que pulses la tecla F9 se generará un nuevo grupo de letras aleatorias. Si quisiéramos que las letras fueran minúsculas entonces debemos modificar los límites de la función ALEATORIO.ENTRE de la siguiente manera:

=CARACTER(ALEATORIO.ENTRE(97, 122))

No debes preocuparte si llegas a olvidar los números exactos que marcan los límites para las letras mayúsculas o minúsculas ya que podemos hacer uso de la función CODIGO para obtener esos valores.

La función CODIGO hace el trabajo opuesto de la función CARACTER es decir, recibe como argumento un carácter y nos devuelve su código. Es así como podemos generar letras mayúsculas aleatorias sin la necesidad de recordar los límites superior e inferior del código ASCII. La siguiente fórmula generará una letra aleatoria mayúscula:

=CARACTER(ALEATORIO.ENTRE(CODIGO("A"), CODIGO("Z")))

Y por el contrario, si queremos obtener letras aleatorias minúsculas debemos modificar el argumento de la función CODIGO de la siguiente manera:

=CARACTER(ALEATORIO.ENTRE(CODIGO("a"), CODIGO("z")))

La siguiente imagen muestra el mismo rango A1:F10 pero generando letras aleatorias minúsculas utilizando la fórmula que acabamos de crear.

Generar letras aleatoriamente en Excel

Letras aleatorias únicas en Excel

Recuerda que la función ALEATORIO.ENTRE no puede generar números aleatorios únicos y por esa razón en los ejemplos de la sección anterior se pueden observar letras repetidas dentro del rango de celdas. Si quisiéramos generar letras aleatorias únicas, tendríamos que utilizar programación VBA pero eso está fuera del alcance de este artículo.

Sin embargo, puedo darte una idea de cómo generar letras aleatorias únicas en Excel. Comienza por leer el artículo Cómo generar números aleatorios únicos para aprender a generar este tipo de números mediante programación y posteriormente utiliza la función Chr en VBA para convertir los números en letras.