(Master en Lambda Clase 1) Periodos Mensuales Recursivos con Fechas de Inicio y Fin en Excel

Поділитися
Вставка
  • Опубліковано 16 вер 2024
  • Referencia archivo: Workbook 1084
    Clic aquí para descargar el libro de trabajo de Excel: www.excelhecho...
    En este video tutorial te explico cómo crear una lista de periodos mensuales calculados con un LAMBDA recursivo ejecutado dentro de una función LET de Excel. Se usan funciones LAMBDA recursivas creadas dentro de LET.
    Tutorial para descargar los archivos de Excel Hecho Fácil: • Como Descargar Archivo...
    ¿Quieres patrocinar este proyecto? Cómprame un café aquí: www.excelhechof...
    Te estaré muy agradecido.
    #Excel #TrucosExcel #FormulasExcel

КОМЕНТАРІ • 59

  • @diegosanchez3659
    @diegosanchez3659 Рік тому

    Mi admiracion es usted un genio

  • @andriuxcorrales1575
    @andriuxcorrales1575 Рік тому +1

    excelente despliegue de sabiduría , yo había hecho eso con una tabla dinámica anual y segmentación de datos agrupados por mes de toda la tabla origen. Es decir, una tabla dinámica idéntica por año usando un filtro para el año. Solo tuve que agregar en la tabla origen 2 columnas ocultas para extraer el mes y año del campo fecha para poder realizar la segmentación en la dinámica. Bueno eso era sin LAMBDA. Quiero suponer que lo hiciste así para demostración de LAMBDA y LET, y además que ya hecho como función en el Admin de fórrmulas ya puedes utilizar la función en diferentes celdas sin tener que realizar una dinámica para cada año y así hasta puedes crear un array dinámico de las sumas por mes y que el mes entre como parámetro a esta función para tener en cada columna x año desde el mes 1 hasta el 12 de cada año todo sumado

  • @cesaraugustolongasjimenez421
    @cesaraugustolongasjimenez421 Рік тому +1

    Amigo Andrés, toda mi admiración y respetos, es admirable e impresionante esta clase, muchísimas gracias por tus enseñanzas

  • @guillermoarroyom.4055
    @guillermoarroyom.4055 Рік тому +1

    Hola Andrés,
    Excelente como siempre. Solo agregaría que una solución recursiva (aunque me gustan mucho) no siempre son lo optimo, ya que pueden utilizar más de lo necesario los recursos del computador, superar las capacidades del excel para manejar variables o ser una solución más compleja
    Se que la idea del video es mostrar las bondades de la recursividad, Pero por ejemplo, la formula de este problema podría simplificarse al no usar recursividad.
    = LET(
    listaFecha;
    MAP(Tabla[Fechas]; LAMBDA(f; FIN.MES(f; -1) + 1));
    listaFechasAux;
    UNICOS(listaFecha);
    OperacionMat;
    MAP(
    listaFechasAux;
    LAMBDA(
    vfi;
    PROMEDIO(FILTRAR(Tabla[Valores]; listaFecha = vfi; 0))));
    APILARH(listaFechasAux; OperacionMat))
    Un abrazo y sigue asi

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Dentro de las hojas de cálculo de Excel este tipo de recursividad no presenta problema, según el Team de desarrollo de Excel en casa matriz, la aplicación es capaz de controlar un desbordamiento de la pila de memoria y detiene la ejecución, así que no hay de que preocuparse.
      Yo también tenía ese dilema y extendí mi inquietud y esa fue la respuesta, de hecho fui un poco más allá y dice que una recursión moderada puede soportar tranquilamente unas decenas de miles de autollamados antes de que la aplicación la detenga... Espero haber respondido con más amplitud de lo que no pude llegar a cubrir en el vídeo. Un abrazo fuerte desde la distancia. Saludos.

  • @luisalvarador.9482
    @luisalvarador.9482 Рік тому

    Gracias por tu dedicación

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Gracias a ti Luis por comentar, un abrazo cordial desde la distancia. Saludos.

  • @Carloskursh
    @Carloskursh Рік тому

    lo que no acabo de ver es porque no se repiten los inicios de fecha (si hay 2 de abril, solo aparece un día 1 de abril), entiendo que eso se deduce en el SI(fi>ffin; resultado y sino llama a lambda otra vez.. pero no acabo de ver exactamente que comparación hace para deducir que de una fecha x, ya ha sido incluido su día 1 en la lista y no lo incluye nuevamente... por lo demás la he seguido y entendido haciendola con ud. sobre la marcha. super intersante y super dificil de plantear algo así desde cero..

  • @rafaeljc9666
    @rafaeljc9666 Рік тому +1

    Excelente vídeo, mejor su explicación.
    Muchas gracias Andrés eres una persona extraordinaria.

    • @rafaeljc9666
      @rafaeljc9666 Рік тому +1

      Alguien podría hacer esta solución con PowerQuery?

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Dejame la pienso con PQ y la desarrollo. Saludos.

  • @cnrike
    @cnrike Рік тому +2

    Hola.
    Soy bastante entusiasta de la función LAMBDA, pero también quisiera hacer notar que Microsoft Excel es una herramienta de usuario. La función recursiva que planteas puede ser perfectamente evitada haciendo una tabla dinámica con el primero de los campos de tipo fecha y que el campo valor, tome el promedio. En esto se tardan menos de 5 minutos.
    A pesar de que se de sobra que esto es un simple ejemplo para explicar la recursión, hay problemas que su solución es más sencilla con LAMBDA que con macros o con el arrastre de funciones convencional a lo largo de las celdas.

  • @IvanCortinas_ES
    @IvanCortinas_ES Рік тому

    Excelente explicación de función que se hace el autollamado. Como bien dices mucho ánimo y a estudiar. Un abrazo Andrés.

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Gracias Iván, me alegra mucho saber que te gustó... Un abrazo fuerte y de verdad casi que todo se puede con esta nueva versión. Saludos hasta España.

  • @marcoscondenunez4392
    @marcoscondenunez4392 Рік тому

    Andres gracias por el conocimiento se me hace un poco complicado entenderlo con estas funciones en el entorno office 365 Saludos

  • @manuelreyes6994
    @manuelreyes6994 Рік тому

    Genial Andres, Saludos

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Gracias, saludos! Gracias por ser miembro del canal. Un abrazo!

  • @SacArt95
    @SacArt95 Рік тому

    Saludos estimado y mis respetos, cuando tenía todas las respuestas, me cambiaron las respuestas,🫨 esto de recursividad interna se las trae, y está es la clase No 1🙆, pendiente y gracias 🙂 😉 👍🏻

  • @robertsegura1168
    @robertsegura1168 Рік тому

    Amigo Andrés, me he quedado con el ojo cuadrado y con una explosión en las ideas, la explicación de la #RecursividadenExcel fue magistral, lo que queda hacer es practicar para ir entendiendo mejor el pensamiento matricial y la "magia" de la recursión, Gracias.

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Gracias Robert, me alegra mucho que te haya gustado, un abrazo fuerte desde la distancia, gracias por ser miembro del canal.

  • @Antonio8688
    @Antonio8688 Рік тому

    Excelente, Andrés. ¿Cuándo actualizas el repositorio? está hasta el libro 1082.

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Pronto lo subo. Gracias por comentar.

    • @Antonio8688
      @Antonio8688 Рік тому

      @@ExcelHechoFacil Muchas gracias, Andrés. Ya descargué el archivo. Bendiciones.

  • @danielfernandezr.2258
    @danielfernandezr.2258 Рік тому

    Excelente aplicación, habrá que complementar entonces como tarea, para que en la misma celda agregar lo correspondiente para que muestre también en forma paralela el promedio de los otros combustibles (diesel, gas93, gas95, gas97). Saludos 🙌🏼👍🏻

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Buena idea, lo tendre en cuenta para una nueva actualizacion.

  • @SkaylaRuty
    @SkaylaRuty Рік тому

    😲😳 practicar, practicar, practicar....

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Asi es... Muchas practica y te vuelves experto! Un abrazo fuerte desde la distancia.

  • @vicon1748
    @vicon1748 Рік тому

    Otro Nivel 😄 Excelente ...

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Gracias Parcero. Un abrazo fuerte desde la distancia.

  • @WilliamGiraldo
    @WilliamGiraldo Рік тому

    Hola Andres, quise descargar el libro para hacer el ejercicio pero en el Drive solo hay hasta el 1082. Igual como es pequeño lo construire. Estaré atento a la clase 2. Me gustaria ver si es posible lo Siguiente:
    En una base de datos que almacena datos de publicaciones en redes sociales y sus fechas, me gstaria hacer este tipo de aplicacion a sacar datos estadisticos mensuales antiguos para compararlos con nuevos, incluyendo alguna semaforización por las metas o kpis y me gustaria usar la segmentación de datos para la selecccion de los meses, los años e incluso los indicadores basicos definidos. Te agradezco Mucho si pudieramos hacer un ejemplo asi pequeño usando LAMBDA LET SEGMENTACION y SUMAPRODUCTO; ese tipo de ejercicio sin duda nos llevaría a otro nivel gracias a ti.

  • @EDwX9
    @EDwX9 Рік тому

    Gracias Andrés por darle al pueblo lo que estaba pidiendo, un máster en lambda recursiva. Estaba esperando esta versión descafeinada Senária; lo digo por no tener la complejidad del base 5 por el cambio de sistema de numeración. Ahora si me ha quedado todo muy claro, voy aplicarlo en un problema propio para internalizarlo.
    Un pregunta corta, me vale un sí o un no, ¿Se podría aplicar en el argumento “include” de la función Filtrar una lambda recursiva o una Scan que me filtre los de una lista ? sé que podría hacer un MMULT pero por alguna razón tengo problemas con el en cambio si pongo el = si me funciona.
    Mil gracias Parcero
    Un saludo,

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Si es posible, pero debes recordar que la matriz de include debe tener el mismo tamaño de los datos a filtrar, es decir, la misma cantidad de filas de la matriz que quieres filtrar... Y si, si se puede.

  • @As7a_2032
    @As7a_2032 Рік тому

    Hola Andres!! antes de nada, enhorabuena por el contenido que subes! He buscado en tu canal pero no he encontrado nada parecido a lo que necesito.. Tengo 2 tablas dinamicas, una es una lista de los drones con todos los componentes que lo conforman (columna 1: nombre del modelo, columna 2: componente, columna 3 cantidad de ese componente), y la otra tabla es un registro de todos los pedidos entrantes (columna 1:numero de pedido, 2: fecha, 3: estado del pedido (entregado, pendiente, en curso), 4: Modelo de dron, 5:cantidad de ese dron). Necesito crear una tabla con todos los componentes que hay que pedir para montar los drones de los pedidos en estado pendiente y en curso. Espero que me puedas ayudar, muchisimas gracias

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +2

      Si me envías la información al correo con gusto puedo intentar algo... Quedo pendiente. Saludos.

    • @As7a_2032
      @As7a_2032 Рік тому

      @@ExcelHechoFacil Hecho!! muchisimas gracias

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Aqui tu respuesta: ua-cam.com/video/VsrBci857q4/v-deo.html Saludos y espero te sirva.

    • @As7a_2032
      @As7a_2032 Рік тому

      @@ExcelHechoFacil ESPECTACULAR! muchísimas gracias. Lamento haber tardado tanto en enviar el archivo, aunque has entendido a la perfección mi planteamiento. Estoy haciendo este excel para un amigo, y viendo la solución que propones, me doy cuenta que no lo habría podido resolver sin tu ayuda., muchas gracias. Espero además que este tutorial sirva de ayuda a mas personas con este mismo problema. Saludos desde Barcelona

  • @nelsonchavez5660
    @nelsonchavez5660 Рік тому

    Buenas tardes Andrés, como siempre quedo impactado con el razonamiento que haces para resolver casos muy interesantes. Anteriormente había requerido tu ayuda para resolver un caso similar pero con tiempos dentro de 24 horas de empleados que ingresan en diferentes tiempos y necesito calcular horas hombre en cada hora y que incluya hasta los minutos si por ejemplo trabajo 8 horas y 30 minutos en la hora 9. No se cómo adjuntar el archivo que en la primera parte muestra las horas de entrada y salida de cada uno de ellos como se muestra a continuación:
    Cada turno inicia a las 8:00 AM, 4:00 PM y 12:00 AM

    Hora Entrada Hora Salida Total horas
    9:00 AM 5:30 PM 8:30
    10:00 AM 6:00 PM 8:00
    11:00 AM 7:00 PM 8:00
    12:00 PM 8:00 PM 8:00
    1:30 PM 9:00 PM 7:30
    1:00 PM 9:00 PM 8:00
    2:00 PM 10:00 PM 8:00
    3:00 PM 11:00 PM 8:00
    4:00 PM 12:00 AM 8:00
    5:00 PM 1:00 AM 8:00
    6:00 PM 2:00 AM 8:00
    7:00 PM 3:00 AM 8:00
    8:00 PM 4:00 AM 8:00
    9:00 PM 5:00 AM 8:00
    10:00 PM 6:00 AM 8:00
    11:00 PM 7:00 AM 8:00
    12:00 AM 8:00 AM 8:00
    1:00 AM 9:00 AM 8:00
    2:00 AM 10:00 AM 8:00
    3:00 AM 11:00 AM 8:00
    4:00 AM 12:00 PM 8:00
    5:00 AM 1:00 PM 8:00
    6:00 AM 2:00 PM 8:00
    7:00 AM 3:00 PM 8:00
    8:00 AM 4:00 PM 8:00
    Y la distribución que desearía lograr sería:
    12 AM 01 AM 02 AM 03 AM 04 AM 05 AM 06 AM 07 AM 08 AM 09 AM 10 AM 11 AM 12 PM 01 PM 02 PM 03 PM 04 PM 05 PM 06 PM 07 PM 08 PM 09 PM 10 PM 11 PM
    - - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 0.50 - - - - -
    - - - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 - - - - -
    - - - - - - - - - - - 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 - - - -
    Agradesco tu ayuda por anticipado.

    • @andriuxcorrales1575
      @andriuxcorrales1575 Рік тому

      si quieres haz una copia similar de la tabla y el archivo súbelo al "NoFile io" y pasa link para descargarlo y ver el caso

  • @rrrraaaacccc80
    @rrrraaaacccc80 Рік тому

    💯👍

  • @danielayalla3990
    @danielayalla3990 Рік тому

    Yo trabajo para una empresa que ofrece servico a diferentes organizaciones
    Recién acabo de ingresar
    Estoy haciendo un historico
    Pero como crear un stock óptimo en base a mis historico el en la tabla tengo todos los meses y el consumos por cada grupo de artículos pero hay meses que se pidió mucho como le puedo hacer para hacer un stock óptimo en base a esos historicos x consumos

  • @sofiafisacvarela2070
    @sofiafisacvarela2070 Рік тому

    🤯

  • @EDwX9
    @EDwX9 Рік тому

    Silvia ya tienes la respuesta a tu pregunta, ahora solo te falta aplicar la recursividad y pan comido.

  • @Fredick.7
    @Fredick.7 Рік тому +1

    🙂...Interesante casuística. Dejo mi punto de vista de manera formulada a continuación:
    =LET(Rango, ORDENAR(D3:E14),
    meses, FECHA(AÑO(INDICE(Rango, , 1)), MES(INDICE(Rango, , 1)), 1),
    APILARH(
    APILARV("[Fechas]", UNICOS(meses)),
    REDUCE("[Valores]", UNICOS(meses),
    LAMBDA(i, mes, APILARV(i, PROMEDIO(FILTRAR(INDICE(Rango, , 2), meses = mes))))
    )
    )
    )

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому +1

      Excelente propuesta como siempre Freddy, me alegra que la hayas aportado, para mi es un gusto poder leer tus resoluciones. Un abrazo fuerte desde la distancia!

    • @Fredick.7
      @Fredick.7 Рік тому

      @@ExcelHechoFacil .....👍.

    • @EDwX9
      @EDwX9 Рік тому

      @faalciva como haces para que youtube no te elimine el comentario cuando pasas un formula lambda ? he intentado pasar algunas y ni dividiendola en partes me lo permite. Luego mirare tu lambda a ver que tal.

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      En serio! YT está eliminando este tipo de comentarios? No tenia idea, con razon me ha quitado varios donde dejo enlaces y respuestas. Moderados por alguna IA

    • @EDwX9
      @EDwX9 Рік тому

      @@ExcelHechoFacil Si, a mi no me ha dejado en varias ocasiones. Si la formula lambda es muy larga y tiene mucho signos que se repiten, tu puedes verla con tu usuario pero cuando intentas verla sin estar logeado o con otro usuario no aparece nada.

  • @jesusherrera4347
    @jesusherrera4347 Рік тому

    🤔

  • @bryanfonsecarodriguez5695
    @bryanfonsecarodriguez5695 Рік тому

    🤯

    • @ExcelHechoFacil
      @ExcelHechoFacil  Рік тому

      Si, está dura la recursiva, pero se puede! Un abrazo.