Acceder

Aprendamos a usar Excel de manera divertida: Crea tu propio "bullshit generator" para crear letras de canciones

Estamos en cuarentena y aprender Excel parece de lo más aburrido. ¿Y si te dijera que puedes crear letras para tus canciones en Excel?  Ya se que crear un bullshit generator no va a ser de extrema utilidad en tu trabajo, pero como estamos en cuarentena, podemos divertirnos un poco.

Un bullshit generator es un software que crea frases generadas por ordenador que suenan elegantes, inteligentes, profesionales, pero que no es más que el resultado de una automatización.  Si quieres ver un ejemplo web puedes ver bullshit generator.

En esta ocasión nos vamos a divertir creando frases aleatorias. Vamos a construir un bullshit generator sin crear algoritmos, ni programando, sino solamente usando una hoja de Excel.

Abrimos Excel, y una vez abierto le das doble clic a la zona marcada.

Agregamos listas de palabras.

Agregamos fórmulas. Colocas el cursor sobre la celda y oprimes F2 para editar.

Celda E1
=+INDIRECT(ADDRESS(INT(RAND()*(5+0.5))+1,1))

Celda E2
=+INDIRECT(ADDRESS(INT(RAND()*(4+0.5))+1,2))

Celda E3
=+INDIRECT(ADDRESS(INT(RAND()*(3+0.5))+1,3))

Celda E5
=+E1&" "&E2&" tu "&E3

Ahora expliquemos cómo funciona esto.

  • La funcion RAND() genera un numero aleatorio entre 0 y 0.99999999.
  • Si multiplicamos lo anterior por un número, tendremos un número aleatorio entre 0 y unos decimales por debajo de ese número.  Entonces, si le sumamos 0.5 garantizamos que se pase un poco de ese número, pero no lo suficiente como para que al redondear suba por encima del número deseado. Por ejemplo: RAND()*(5+0.5) genera número entre 0 y 5.49999999
  • Redondeamos hacia abajo. INT(RAND()*(5+0.5)) genera números entre 0 y 5
  • Sumamos 1. INT(RAND()*(5+0.5))+1 genera números entre 1 y 6.  
  • La funcion ADDRESS(fila,columna) indica la dirección de una determinada celda de Excel, en forma de texto, de una celda.  Por ejemplo ADDRESS(2,3) se mostrará como el texto "$C$2".  C es la columna 3.
  • Ahora queremos encontrar una dirección descrita.  En la columna 1, y en la fila de la 1 a la 6.  Porque las celdas con palabras están en esas filas.  Entonces tenemos ADDRESS(INT(RAND()*(5+0.5))+1,1)
  • Ahora extraigamos el valor de la celda descrita en Address usando la función INDIRECT(address) que ahora se lee INDIRECT(ADDRESS(INT(RAND()*(5+0.5))+1,1)) y esa formula va a la celda E1.
  • Como puedes, lo complicado es construir los pedazos de fórmula, pero el formato general usado en la fórmula es este:

=+INDIRECT(ADDRESS(INT(RAND()*(FilasMenosUno+0.5))+1,Columna))

  • Para unir una celda con otra usamos &. Con & podemos encadenar en secuencia una celda, o un texto que va entre comillas (por ejemplo "texto"). Los separadores de palabras serían espacios entrecomillas.
  • La celda E5 sigue el siguiente formato:

Sujeto y verbo querer + Verbo infinitivo + "tu" + sustantivo

Cada vez que la hoja de Excel se actualice, verás cambiada la frase aleatoria.  Para ello, editar cualquier celda (oprimiendo F2 y después Enter), y deberías ver la frase en E5 cambiar.

  • Si juegas con la celda E5, puedes generar distintas estructuras de palabras.
  • Si creas listas y juegas con indirect address etc, puedes sacar distintas palabras aleatorias de tantas listas como desees.
  • Al final, el resultado va a ser lo que tu hayas diseñado.

Prueba muchas listas, distintas combinaciones.  Al final podrás ser un genio en la creación de letras de música urbana, habrías sido el gran poeta de la inteligencia artificial en Excel.  La genialidad poética estará en esa celda E5 que te dará la estructura, en la genial lista de palabras que puedas generar.

¿Te ha gustado el artículo?

Si quieres saber más y estar al día de mis reflexiones, suscríbete a mi blog y sé el primero en recibir las nuevas publicaciones en tu correo electrónico.

  • Redes neuronales
Accede a Rankia
¡Sé el primero en comentar!