Nueva fórmula en Sheets para arrastrar cualquier función!

Поделиться
HTML-код
  • Опубликовано: 11 сен 2024
  • Hoy hablamos de unas nuevas formulas que nos harán la vida más fácil en Sheets para no tener que arrastrar fórmulas nunca más
    👍 Si te ha gustado este video, te encantará el curso gratis "Aprende Google Sheets en 2 horas". Aquí puedes obtener acceso juansguzman.co...
    📋 Puedes encontrar el código y la plantilla de este video (y los más de 350 videos del canal) inscribiéndote en un plan mensual o anual en mi membresía JuanSGuzman - juansguzman.com
    🎓Allí mismo, encontrarás un curso completo de LAMBDA, asi como más de 75 cursos completos de Sheets, Forms y Apps Script. Aquí puede verlo juansguzman.co...
    📝 Puedes encontrar este tutorial en forma escrita aquí juansguzman.co...
    ☎️ Si necesitas asesoría personalizada, ofrezco algunas horas a la semana de este servicio. juansguzman.co...
    🔔 Suscríbete al canal donde encontarás cada mes, nuevos videos de Sheets, Forms, Apps Script y más.
    Aquí algunos canales donde me puedes seguir y apoyar:
    📨 - Newsletter: juansguzman.co...
    ➤Patreon: juansguzman.co...
    ➤Telegram: juansguzman.co...
    ➤Instagram: juansguzman.co...
    ⓕ - Facebook: juansguzman.co...
    ➤Tiktok: juansguzman.co...
    𝕏 - (Twitter): juansguzman.co...
    Cualquier sugerencia, pregunta o inquietud, te invito a comentar más abajo

Комментарии • 69

  • @erick169112
    @erick169112 4 месяца назад +3

    Justo me hacía falta esto, pues andaba estancado para lograr usar concatenar varias columnas, aparte agregarle la función SI, pues no quería que se active si estaba la celda vacía y me funcionó genial. Gracias. definitivamente tengo que adquirir los cursos, juntaré dinero.

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +2

      Hola
      Excelente! Me alegra ser de utilidad.
      Un gran saludo!

  • @CarlosFabianVelasco
    @CarlosFabianVelasco Месяц назад +1

    Muchas gracias por estos videos, ya habia visto tus videos anteriores de lambda y como eran muy complicados de utilizar no lo estudie ni lo practique, pero ahora con las nuevas tablas de google que no permiten formulas en los encabezados tengo el desafio de poder importar a otras tablas en diferentes hojas (importrange) la base de datos de la manera mas simple y dinamica!, seguro tu nos puedes recomendar eso! saludos

    • @JuanSGuzman
      @JuanSGuzman  Месяц назад

      Hola!
      Este tema de las tablas, aunque tiene muchas ventajas, tambien nos va a traer muchos retos a los que usamos funcionalidades mas complejas
      El tema del ArrayFormula yo todavía no lo veo bien compatible con las tablas, pero lo voy a seguir investigando y seguramente habrá un video a futuro
      Gracias por la sugerencia
      Saludos!

  • @colegiobs
    @colegiobs 4 месяца назад +2

    Estupendo vídeo, Juan.

  • @emiliomillansanchez7408
    @emiliomillansanchez7408 4 месяца назад +2

    Hola: Exelente canal. Para los espacios vacios yo prefiero encerrar el map() dentro de un Filter() porque por una lado eso me permite escribir en las filas vacias sin que el map me de un error y ademas si utilizamos scripts en esa hoja no tenemos errores con el lastRow() ya que si utilizamos el condicional estamos escirbiendo en todas las filas de la hoja (unque queden en blanco)

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +2

      Gran aporte Emilio
      Aunque fijate que si dejas el vacio vacío y no en comillas, por ejemplo SI(FILA(var1)=1;;
      no te va a afectar el .getLastRow()
      Pero si puede llegar a ser mas eficiente ya que no "escribe" en tantas celdas
      Gracias por el consejo!

  • @felipeaguila1760
    @felipeaguila1760 4 месяца назад +2

    11:25 map(ref,LAMBDA(Var,var+form)
    Simplemente impresionante!
    Yo me quedé entendiendo la primera parte el BYROW, Lo estudiaré más a fondo
    Muchas Gracias Ing. Guzman,
    Cordial saludo hasta Colombia desde Mex.

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Gracias por comentar como siempre Felipe

  • @selenecat1676
    @selenecat1676 4 месяца назад +1

    Excelente aporte y explicación, muchas gracias por ello. Bendiciones y éxito.

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Hola!
      Gracias a ti por tomarte el trabajo de comentar!
      Saludos!

  • @proyectosaescala523
    @proyectosaescala523 3 месяца назад +1

    Juan! Muchas gracias por compartir, este arreglo es para practicarlo porque sí confunde un poco pero es como todo, sólo práctica y por si a alguien le sirve, para cuando toca hacer operaciones básicas con array yo lo hago de la siguiente forma:
    •Si ponemos el array en la fila 2:
    =ARRAYFORMULA(A2:A+B2:B)
    •Array en encabezado:
    =ARRAYFORMULA(
    SI(FILA(A:A)=1;
    "Suma";
    ARRAYFORMULA(A:A+B:B))
    )
    Esas dos primeras me van a traer 0 en donde esté vacío pero para ello uso este arreglo:
    =ARRAYFORMULA(
    SI(A:A="";"";
    SI(FILA(A:A)=1;
    "Suma";
    ARRAYFORMULA(A:A+B:B)))
    )
    Yo dejo las formulas tipo como cuando se programa ajajja voy bajando renglón para poderme ver donde empieza y termina una formula y las demás.
    Saludos! También soy de Colombia

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад

      Mil gracias por el aporte!
      Saludos!

  • @rawihcito
    @rawihcito 4 месяца назад +1

    Sos un capo! me encantó la idea de dejar el arrayformula. Gracias!

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @Benito-MExcel
    @Benito-MExcel 4 месяца назад +2

    Hola Juan, excelente el tema tratado hoy, las formulas matriciales son de lo mejor en las hojas de cálculo.
    Muy buena su explicación, ahora falta usarlas también con filtros y sobre todo filtros dinámicos, puede ser 🤔
    Saludos y un super like👍

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Tienes razón
      Esta es la punta del iceberg
      Gracias por comentar
      Saludos!

  • @inghmop
    @inghmop 4 месяца назад +1

    Excelente contenido. Muchas gracias Juan

  • @josed.portela4233
    @josed.portela4233 4 месяца назад +1

    Muchas gracias Juan... excelente.

  • @arvigadol
    @arvigadol 4 месяца назад

    Excelente como siempre, muchas gracias, Juan!!

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Gracias a ti por comentar!

  • @6692989
    @6692989 3 месяца назад +1

    Yo utilizo para limitar la formula de matriz el contar los datos manuales y los combino con un indirecto, seria algo asi map(indirecto(“B:B“&CONTARA(A:A)....... de esta forma solo se expande la formula solo cuando hay datos en la columna A, muchas gracias por sus videos son mis referencia para aprender más.

    • @JuanSGuzman
      @JuanSGuzman  2 месяца назад +1

      Tienes razón!
      Gran aporte
      La verdad es que cuando juntas map y lambda con INDIRECTO y DESREF tienes unas posibilidades increibles!
      Saludos!

  • @davidhenriquez4953
    @davidhenriquez4953 4 месяца назад +1

    Excelente, muchas gracias.

  • @natanabelarsogbe
    @natanabelarsogbe 3 месяца назад +1

    La voy a usar

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад

      Me cuentas como te va
      Saludos!

  • @AgendaBioBioCL
    @AgendaBioBioCL 3 месяца назад +1

    Me gustó esto de LAMBDA MAP.

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад +1

      Es super chevere!
      Yo ya casi deje de utilizar ArrayFormula
      Saludos!

    • @AgendaBioBioCL
      @AgendaBioBioCL 3 месяца назад +1

      ​@@JuanSGuzman Hola Juan, quiero usar MAP en el siguiente caso. Usando Lambda y arrastrando la fórmula funciona bien, pero al llevarlo a MAP no funciona correctamente.
      La función ubicada en columna B cuenta si los elementos de columna A se repiten o no dentro de la misma columna A.
      Ejemplo usando solo lambda en fila 5
      =LAMBDA(varUno;varDos;IF(COUNTIF(varUno;varDos)>1; "SI"; "NO"))($A$1:A5;A5)
      Llevado a MAP:
      =MAP($A$1:A;A1:A;LAMBDA(varUno;varDos;IF(COUNTIF(varUno;varDos)>1; "SI"; "NO")))
      Cualquier ayuda se agradece.

    • @JuanSGuzman
      @JuanSGuzman  2 месяца назад +1

      @@AgendaBioBioCL Hola! Te dejo este video del canal en inglés donde lo hago. Lo anoto para hacerlo en español
      ruclips.net/video/CKkTmS0av_I/видео.html
      Saludos!

    • @JuanSGuzman
      @JuanSGuzman  2 месяца назад +1

      @@AgendaBioBioCL Ahi es mas complejo y tienes que ayudarte de fórmulas como INDIRECTO y DESREF. Lo podrías hacer así
      =MAP(A1:A;LAMBDA(varUno;IF(COUNTIF(INDIRECTO("A1:A"&FILA(varUno)))>1; "SI"; "NO")))
      Algo asi
      Lo anoto para un video adicional
      Saludos!

    • @AgendaBioBioCL
      @AgendaBioBioCL 2 месяца назад +1

      @@JuanSGuzman misma solución. Agradecido nuevamente.

  • @overodd
    @overodd 4 месяца назад +1

    Excelente aporte

  • @Pillados-
    @Pillados- 4 месяца назад

    Muy buena explicación, primera vez que veo esas fórmulas, ya estoy de lleno en Sheets y dejé Excel

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Excelente
      a verdad es q Excel sigue siendo mejor para muchas cosas, sobre todo si tienes bases muy grandes o requieres funcionalidades muy avanzadas como opciones específicas de Tabla Dinámica o Tablas, o Power Query
      Pero de resto, Sheets es una maravilla
      Saludos!

    • @Pillados-
      @Pillados- 4 месяца назад

      @@JuanSGuzman pero hay que ver si Excel tienes esas buenas funcionalidades en la nube

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      @@Pillados- Lo han mejorado, para no quedarse atras de Google, pero me quedo con Sheets personalmente. Uso los 2, me toca. Pero me quedo con Sheets. Saludos!

  • @alfamultimedia4011
    @alfamultimedia4011 4 месяца назад

    Hola Juan, sos un GENIO!!! Explicas muy bien y vas sin rodeos a desarrollar el tema. Disculpa que mi pregunta no sea de este tema, pero quisiera preguntarte: ¿de qué manera puedo hacer sumas condicionales? como por ejemplo, según el color de la tipografía de la cantidad a sumar. SIN realizar filtros como lo explicas en otro video. Desde ya muchas gracias!!! Lo que pretendo hacer es que en una columna con varias cantidades de distintos colores, agregar abajo, filas con los subtotales de cada color y abajo de todo el resultado de la suma general. Se entiende?

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Hola
      Normalmente las sumas condicionales se hacen con SUMAR.SI pero no incluyen condiciones de formatos como los coore
      Para sumar colores te toca hacer funciones personalizadas, como en este video
      ruclips.net/video/LqY85FQBlE4/видео.html
      Saludos!

  • @felirol
    @felirol 4 месяца назад

    Muy bueno Juan, muchas gracias

  • @DiegoSotomayorMendoza
    @DiegoSotomayorMendoza 3 месяца назад +1

    Juan muchas gracias y muchas felicidades, compartir tu conocimiento nos ayuda mucho.
    ¿Te animas a hacer un paquete que sea un pago único por una suscripción lifetime a tu pagina web?

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад +1

      Hmmm, no se me había ocurrido. Voy a pensarlo
      Gracias por la sugerencia
      Saludos!

    • @DiegoSotomayorMendoza
      @DiegoSotomayorMendoza 3 месяца назад +1

      @@JuanSGuzman puedo ser tu 🐇 de indias

    • @JuanSGuzman
      @JuanSGuzman  3 месяца назад

      @@DiegoSotomayorMendoza Dejame "echo número" y t cuento
      Gracias por el interés!
      Saludos!

  • @juancamilomancocalle2981
    @juancamilomancocalle2981 3 месяца назад +1

    gracias Juan. Chao arrayformula()

  •  2 месяца назад +1

    BUEN CLASE LA TUYA, tengo una consulta al usar esta formula en mi caso al usar filter y transpose solo me muestra un valor de todos los demas que deberian estar enlistados de forma horizontal para hacer que mi desplegable dependiente sea automatico si se aumentan mas filas
    Formula=MAP(A2:A1800;B2:B1800;D2:D1800;'Atención de consultas_2024'!F2:F1800;LAMBDA(componente;tema;componente2;componente3;if(componente2="";;TRANSPOSE( filter (tema;componente=componente3)))))

    • @JuanSGuzman
      @JuanSGuzman  2 месяца назад

      El truco de MAP es saber cuales referencias "entran" dentro del map, y cuales no. En tu caso, sería algo asi, sin entender bien tu estructura de datos
      =MAP(D2:D1800;'Atención de consultas_2024'!F2:F1800;LAMBDA(componente2;componente3;if(componente2="";;TRANSPOSE( filter (B2:B1800;A2:A1800=componente3)))))
      Saludos!

  • @colegiobs
    @colegiobs 4 месяца назад +1

    Me encantaría saber si se puede usar LAMBDA con funciones matriciales como INDICE o COINCIDIR

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Hola!
      Claro que si!
      EL truco esta en saber que se deja como variables del LAMBDA y que se pone directamente como referencia
      Por ejemplo para tu ejemplo sería
      =MAP(A2:A;LAMBDA(ref;INDICE(Datos!A1:F50;COINCIDIR(ref;A1:A;0);3)))
      Saludos!

  • @davidhenriquez4953
    @davidhenriquez4953 4 месяца назад +1

    Hola, ¿Tienes un video que explique como ejecutar una macro al pasar de una hoja a otra?

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +2

      Hola!
      Te refieres a copiar un dato?
      Saludos!

    • @davidhenriquez4953
      @davidhenriquez4953 4 месяца назад

      @@JuanSGuzman Hola. No, me refiero a que estoy trabajando en la hoja 1, actualizando una información, y al pasar de la hoja 1 a la hoja 2, es decir, al ingresar a la hoja 2, se me ejecute la macro "Orden Descendente" que ya la tengo hecha.
      En estos momentos tengo la macro asignada a un botón, pero si no se pincha el botón no se genera el orden ascendente y se presta para confuciones al leer la información de la hoja 2.
      No he podido dar con la solución.

  • @juancamilogonzalezusma2909
    @juancamilogonzalezusma2909 4 месяца назад +1

    Súper esta función, nunca la había utilizado, siempre usaba Array Formula. Aunque tengo una consulta, lo probé en una de mis plantillas pero al ponerle números a mis variables me saca error. Hay alguna forma de que esto no suceda. Por ejemplo necesito tener variables como P1, P2, P3... Para mis productos.

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Es importante que tus variables no se confundan con referencias, por eso p1 no te la toma
      Intenta con prod1 o var1
      Saludos!

  • @Leover378
    @Leover378 4 месяца назад +2

    32:28 Ok pero los que tengamos Array Formula con GAS? También cambiaremos?

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      ArrayFormula va a seguir funcionando siempre
      Solo que estas son mas potentes y funcionan en más casos
      Saludos!

  • @oxpey4473
    @oxpey4473 4 месяца назад +1

    Funcionará para el encabezado hacer algo asi?
    ={"Max Ventas";funcion_ByRow_Lambda}

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Debería funcionar
      Saludos!

  • @lacs83
    @lacs83 4 месяца назад +1

    En pocas palabras... Lambda es una función anónima. Es decir una función sin nombre. Si ya tienen experiencia programando en javascript y han utilizado los metodos map, filter y reduce. A estos métodos se les pasa una función que recibe un valor o valores que componen el array y se define el cuerpo de la misma que es la operaciónción a realizar con ese elemento y regresa el resultado. Prácticamente es lo mismo.
    Microsoft Excel fue el primero en agregar este tipo de funciones pero solo están disponibles para office 365. Excel incorpora una llamada filter que si filtra el resultado de una fórmula. El filter de sheets solo funciona para rangos. Si tengo que filtrar el resultado de una fórmula utilizo Query.
    Saludos!

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад +1

      Gracias por resumir!
      Saludos!

  • @Leover378
    @Leover378 4 месяца назад +1

    Clase avanzada no! Me gusta Lamda porque las celdas no quedan con formulas lo cual es bueno para evitar algun borrado de la formula en las celdas de abajo y cuando se tiene un libro muy grande, creo que cargue mucho mas rapido ya que no habria formulas en cada celda de esa columna. Pero hasta el momento lo dejo en min 14, luego continuo. Veo bien ese uso hasta el momento.

    • @JuanSGuzman
      @JuanSGuzman  4 месяца назад

      Lo dices tu xq ya eres avanzado, jaja
      Gracias por comentar
      Saludos!