FIZZBUZZ resuelto en Excel con LAMBDA y BYROW (2024)

¡Hola a todos! Hoy vamos a explorar cómo Excel, con la incorporación de las funciones Lambda en 2021, se ha transformado en un potente lenguaje de programación capaz de resolver problemas lógicos complejos que normalmente se presentan en entrevistas para programadores. Vamos a desglosar cómo se puede abordar el desafío «FIZZBUZZ» utilizando Excel.

¿Qué es el Desafío «FIZZBUZZ»?

El desafío «FIZZBUZZ» es una prueba común en los procesos de selección para programadores. Consiste en evaluar la lógica de programación a través de un ejercicio sencillo pero que requiere atención al detalle. La tarea es generar una lista del 1 al 100, donde:

  • Los números que no son múltiplos de tres ni de cinco deben mostrarse tal cual.
  • Los múltiplos de tres deben mostrar la palabra «Fizz».
  • Los múltiplos de cinco deben mostrar la palabra «Buzz».
  • Los números que son múltiplos tanto de tres como de cinco deben mostrar «FizzBuzz».

Solución en Excel con Funciones Lambda

Para abordar este desafío en Excel, emplearemos la función Lambda, que permite crear funciones personalizadas sin necesidad de escribir código en VBA. Aquí está cómo podemos configurar nuestra solución:

  1. Crear la Secuencia: Comenzamos generando una secuencia de números del 1 al 100 utilizando la función SECUENCIA de Excel. Esta secuencia será la base sobre la que aplicaremos nuestra lógica.
  2. Aplicar Lógica con Lambda: Utilizaremos la función Lambda para evaluar cada número de la secuencia. Dentro de esta función, implementaremos una serie de condiciones para determinar si un número es múltiplo de tres, de cinco, o de ambos.
  3. Uso de «LET» y «IF»: Para hacer nuestro código más eficiente y legible, utilizaremos la función LET para definir variables locales que nos ayudarán a calcular los residuos de las divisiones por tres y por cinco. Esto nos permitirá usar estas variables dentro de condiciones IF para decidir qué texto mostrar.
  4. Resultado Final: Al aplicar la función Lambda a cada número en nuestra secuencia, Excel evaluará las condiciones establecidas y devolverá «Fizz», «Buzz», «FizzBuzz», o el número según corresponda.

Ejemplo de Código

Aquí hay un ejemplo simplificado de cómo podría verse el código de la función Lambda en Excel para este desafío:

excelCopiar código=LAMBDA(n, 
  LET(
    r3, MOD(n, 3),
    r5, MOD(n, 5),
    IF(AND(r3=0, r5=0), "FizzBuzz",
      IF(r3=0, "Fizz",
        IF(r5=0, "Buzz", n)
      )
    )
  )
)

Aplicaciones Prácticas

Este ejercicio no solo es útil para entrevistas de trabajo o desafíos de programación, sino que también demuestra la versatilidad y potencia de Excel como herramienta de programación. Con las funciones Lambda, Excel se posiciona como una opción viable para resolver problemas de programación que requieren lógica condicional compleja sin salir del entorno de hoja de cálculo.

Conclusión

Resolver el desafío «FIZZBUZZ» en Excel es un excelente ejemplo de cómo las nuevas funcionalidades pueden transformar tareas tradicionalmente reservadas para lenguajes de programación más complejos. Nos muestra que Excel continúa evolucionando y adaptándose a las necesidades de usuarios avanzados que requieren herramientas potentes y flexibles para el análisis de datos y la automatización de tareas.

Espero que este tutorial te haya sido útil y te anime a explorar más sobre las capacidades de programación de Excel.

Definiciones en Microsoft

Consulta en la documentación oficial de Microsoft las funciones utilizadas en este tutorial.

No hay comentarios.

Deja un comentario

Your email address will not be published.