Extraer y validar textos de manera avanzada - Introducción a Expresiones Regulares en GOOGLE SHEETS

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 พ.ย. 2024

ความคิดเห็น • 73

  • @unedocencia1069
    @unedocencia1069 11 หลายเดือนก่อน +2

    Vuelvo al vídeo luego de un año pues tuve la necesidad de usar expresiones regulares. Fenomenal! Gracias nuevamente.

    • @JuanSGuzman
      @JuanSGuzman  11 หลายเดือนก่อน

      Excelente. Me alegra ser de ayuda!
      Saludos!

  • @XochitlAzalea
    @XochitlAzalea 5 หลายเดือนก่อน +1

    Acabo de encontrar tu vídeo, dos cosas por decir:
    Primero: Vídeo espectacular, super bien explicado, soy una papa enterrada y aunque es más que introductorio con tu forma de explicar me a quedado más que claro y, segundo y último: ¡Muchísimas gracias! No todos tienen el don de enseñanza.
    Pd. Como muchos lo han dicho ya, a mi también me salvaste :D

    • @JuanSGuzman
      @JuanSGuzman  5 หลายเดือนก่อน

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @edenilson183
    @edenilson183 2 ปีที่แล้ว +1

    Que super buen video Juan, entre mas avanzada la formula todo se torna mas interesante, gracias por esos tips, toca ponerlos en pratica, Im a big fan.

    • @JuanSGuzman
      @JuanSGuzman  2 ปีที่แล้ว +1

      Hola!
      Que amables palabras! Mil gracias!
      Saludos!

  • @valentinasalazar694
    @valentinasalazar694 หลายเดือนก่อน +1

    Crack, no mas por eso like y me suscribo. Me salvaste

    • @JuanSGuzman
      @JuanSGuzman  หลายเดือนก่อน

      Mil gracias!

  • @dennispurilla8778
    @dennispurilla8778 ปีที่แล้ว

    Perfecto hermano me salvaste. Muchas gracias!!!!

  • @walterpana1959
    @walterpana1959 2 ปีที่แล้ว

    Hola Juan, buen día. Gracias por su espectacular video... Probando y practicando, se me presentó el siguiente inconveniente:
    Teniendo como dato a analizar el resultado de una Geolocalización inversa que da resultados como estos:
    a) 98F4+JJ, Sinai, San José Province, San Isidro de El General, Costa Rica
    b) 3R57+686, Tegucigalpa, Honduras
    c) Progreso ,Puntarenas frente colegio Técnico Profesional casa, Diag. 13, El Progreso, Provincia de Puntarenas, Barranca, Costa Rica
    me propuse obtener datos separados, pero si separo por columnas no me coinciden las posiciones de Zona / Provincia / Pais, etc. Se ordenan de acuerdo a posición y no de acuerdo a importancia, y es allí donde apliqué lo explicado en el video con las siguientes formulas:
    Esta para la extracción de Pais, ya que se cuales paises son y se que siempre están al final:
    =REGEXEXTRACT(F2;"[Honduras""Costa Rica""Panamá""Guatemala]+$")
    y Esta para que verifique las posiciones de las comas y extraiga, segun la cantidad de comas el 6, 5, 4, 3 puesto etc.
    =IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){6}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){5}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){4}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){3}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){2}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){1}([^,]*),");IFERROR(REGEXEXTRACT(F5;"^(?:[^,]*,){0}([^,]*),"))))))))
    Todo funciona bastante bien, pero apareció otro problema y este si estoy renegando un poco:
    En algunos registros hay ausencia de "coma" entre un dato y otro, ejemplo:
    3R57+686 Tegucigalpa, Honduras
    R23R+J2 Linda Vista, Provincia de Puntarenas, Costa Rica
    Donde la extracción resulta en:
    3R57+686 Tegucigalpa
    R23R+J2 Linda Vista
    en lugar de dar:
    Tegucigalpa
    Linda Vista
    Este problema se solucionaría si agregara una coma después del dato inicial (el alfanumérico), pero he intentando varias formas y no logro dar en el clavo y obviamente, hacerlo manualmente no es lo ideal.
    Será que me puede ayudar?
    Desde ya muchas gracias

    • @walterpana1959
      @walterpana1959 2 ปีที่แล้ว

      bueno, siguiendo con el tema...
      con esto ... =LEFT(F2;SEARCH(",";F2)-1)
      logro identificar el espacio inmediato después del bloque alfanumérico, ahora solo queda colocar una "coma" en ese lugar...

    • @JuanSGuzman
      @JuanSGuzman  ปีที่แล้ว

      Hola!
      Esta expresión te extrae el texto despues del numero
      ^ [0-9A-Z'\+]+ (.+)
      Saludos!

  • @iMajeztic8996
    @iMajeztic8996 ปีที่แล้ว +1

    Excelente video!

  • @helmouthtrujillo920
    @helmouthtrujillo920 4 ปีที่แล้ว +1

    Juan reciba un cordial saludo, excelente todos estos videos que nos ayuda en nuestra vida laboral de manera mas práctica y eficiente, tengo una consulta y ojalá puedas hacer un video acerca de ella. Resulta que tengo un inventario formulado por script en hoja de calculo google pero esa hoja la tengo compartida con otros compañeros lo que deseo saber es si existe la posibilidad de trabajar desde otro script diferente a la hoja para de una manera segura no puedan ver los codigos, sino solo yo. Mil gracias por su atención y de nuevo excelente sus videos

    • @JuanSGuzman
      @JuanSGuzman  4 ปีที่แล้ว +1

      Hola Helmouth
      Excelente pregunta.
      Desafortunadamente no hay aún una opción de proteger código.
      Algunas opciones:
      1 Se pueden hacer algunos trucos como crear una librería, o usar dos códigos aparte,
      2. Publicar el código como un complemento o add-on.
      Déjame sigo pensándolo a ver si hay una manera más fácil.
      Saludos!

    • @lacs83
      @lacs83 9 หลายเดือนก่อน

      Por que no mejor programas una webapp y te quitas de andar sufriendo.

  • @arturoo5251
    @arturoo5251 2 ปีที่แล้ว +2

    Hola Juan. Excelentes tus videos. Me han ayudado mucho a resolver problemas frecuentes. Quisiera que me ayudes a resolver este problema de formato. Tengo una serie de tiempos resultado de la diferencia entre dos fechas y horas, los cuales se encuentran en el formato hh:mm:ss. Por ejemplo 1:22:15 lo que es una hora, veintidós minutos y quince segundos. Necesito convertir el valor número al formato "1 hora 22 minutos y 15 segundos". En el caso de que sea 0:22:15, debería decir "22 minutos y 15 segundos", sin considerar las horas. Lo mismo para cuando son solamente segundos, debería decir solamente "28 segundos" si el valor fuera 00:00:28. Cómo puedo hacer esto?

    • @JuanSGuzman
      @JuanSGuzman  2 ปีที่แล้ว

      Hola Arturo
      Mil gracias por tus palabras!
      Esta dificil
      Ya viste este video?
      th-cam.com/video/gu9NTqhCOOs/w-d-xo.html
      Seria algo similar pero diferente, jaja. Voy a pensarlo
      Un gran saludo!

  • @comercializadoralaferlv
    @comercializadoralaferlv หลายเดือนก่อน +1

    Hola Juan gracias por tu video tengo una pregunta, tengo en una celda 158099Ajustes por inflación utilizo =regexextract(B406,G406) y uso la frase regular [A-Za-z]+ pero solo extrae la primer palabra, necesito extraer en una sola celda toda la frase que esta separada por espacio como seria la expresión regular, por favor me puedes orientar, gracias.

    • @JuanSGuzman
      @JuanSGuzman  หลายเดือนก่อน +1

      Intenta esto
      "^\d+(.+)"
      Saludos!

  • @MaesroMorago
    @MaesroMorago ปีที่แล้ว

    Saludos me parece una genialidad. Me gustaría saber cómo extraer la primera letra de cada nombre. Sería muy útil.

    • @JuanSGuzman
      @JuanSGuzman  ปีที่แล้ว +2

      Interesante!
      Seria algo asi
      =JOIN("";ARRAYFORMULA(REGEXEXTRACT(SPLIT(A1;" ");"^\w")))
      Saludos!

    • @MaesroMorago
      @MaesroMorago ปีที่แล้ว

      @@JuanSGuzman muchas gracias 🤝🙏🏼

    • @MaesroMorago
      @MaesroMorago ปีที่แล้ว

      Es magestuoso.

    • @MaesroMorago
      @MaesroMorago ปีที่แล้ว +1

      Tengo una pregunta más. Como arrastro con array Formula sin tener que arrastrar la fórmula manualmente?

    • @MaesroMorago
      @MaesroMorago ปีที่แล้ว +1

      Muchas gracias. SInceramente este tema nadie lo había explicado en Sheets. Es muy útil para crear las carperas de los estudiantes con las iniciales más la fecha de nacimiento, u otros indicadores.......@@JuanSGuzman

  • @3guide
    @3guide 6 หลายเดือนก่อน +1

    Hola, que codigo utilitzaria para sacar de una casilla los dos primeros caracteres, da igual si numeros o letras mayusculas o minusculas
    Muchisimas gracias

    • @JuanSGuzman
      @JuanSGuzman  6 หลายเดือนก่อน

      IZQUIERDA(A1;2)
      Saludos!

  • @manuelv.4697
    @manuelv.4697 3 ปีที่แล้ว

    Buen dolor de cabeza las expresiones regulares Juan... Un Saludo desde Chile...

    • @JuanSGuzman
      @JuanSGuzman  3 ปีที่แล้ว

      Jaja, tienes toda la razón
      Saludos!

  • @carolinaramirez7001
    @carolinaramirez7001 ปีที่แล้ว +1

    Hola juan, muchas gracias por el video, sigo aprendiendo contigo, tengo una dudita tengo el siguiente texto 2023-09-19+09%3A32%3A34.192000 en un link y necesito extraer despues del + el valor 09 y el 32 no he logrado hacerlo, tienes un ejemplo o podrias hacer un video por fi

    • @lacs83
      @lacs83 9 หลายเดือนก่อน +1

      Investiga acerca de la función split y combinala con la función indice. No necesitas expresiones regulares para esto que solicitas.

  • @laurap4358
    @laurap4358 6 หลายเดือนก่อน

    Hola, muchas gracias por tus enseñanzas, pero si yo quisiera anidar dos formulas, por ejemplo una es COUNTIFS y otra es REGEXMATCH, podría hacerlo de esta manera? =COUNTIFS(REGEXMATCH((ModoContactoPar20;AA34);(AñoPar20;$C$1))) , estoy utilizando intervalos con nombre y en la celda AA34 puse la regexp que es esta ^[Form][.][A-Za-z]+
    Mi intención es que me cuente todos los campos donde aparece la palabra Form. Me da error si lo hago anidando y me da true si lo hago con una sola formula, la de regexp. Bueno, que no se si se entendió, es un poco lioso, en resumen lo que quiero es contar todas las celdas donde aparezca una palabra o caracteres que cumplan la condición de la regular expresion. Muchas gracias!!!! 🙌🙌🤗🤗🥰🥰

    • @JuanSGuzman
      @JuanSGuzman  6 หลายเดือนก่อน

      Te toca usar LAMBDA + MAP
      Estas de buenas que hoy salió el video 😉
      th-cam.com/video/GtzGhPSwFf4/w-d-xo.html
      Saludos!

  • @enriqueacevedo682
    @enriqueacevedo682 3 ปีที่แล้ว

    Excelente curso. Busco una solución pero no encuentro la fórmula adecuada, me podrías orientar?
    Celda A1
    MEX/TRC/MEX
    MTY/MEX/CUN
    MEX/CUL
    Requiero extraer el destino final y hay 3 tipos de escenario, los destinos a obtener son TRC, CUN, CUL
    Este caso práctico es para extraer códigos de aeropuerto según el tipo de vuelo. Sencillo o redondo donde el destino final es el aeropuerto último al que se vuele sin considerar el aeropuerto de origen. No se si me explico.

    • @lacs83
      @lacs83 9 หลายเดือนก่อน

      No, no te explicas en lo absoluto!

  • @josealbertosarangobohorque6851
    @josealbertosarangobohorque6851 3 ปีที่แล้ว

    Buenas noches
    Estimado Juan S. Guzmán
    Tengo en una celda mis dos nombres y mis dos apellidos, lo que me gustaria es solo trasladar a otra celda los nombres y no considerar los apellidos.
    ¿Se puede hacer eso?

    • @JuanSGuzman
      @JuanSGuzman  3 ปีที่แล้ว

      Hola José
      Pregunta
      Siempre hay dos nombres y dos apellidos?
      Saludos!

    • @funvalecuador29
      @funvalecuador29 3 ปีที่แล้ว

      @@JuanSGuzman si claro siempre hay dos nombres y dos apellidos

    • @josealbertosarangobohorque6851
      @josealbertosarangobohorque6851 3 ปีที่แล้ว

      @@JuanSGuzman si claro siempre hay 2 nombres y 2 apellidos

    • @JuanSGuzman
      @JuanSGuzman  3 ปีที่แล้ว

      @@josealbertosarangobohorque6851 Intenta esta expresion
      "^[A-Za-záéíóú]+ [A-Za-záéíóú]"
      Ojo con el espacio, incluyelo
      Saludos!

    • @josealbertosarangobohorque6851
      @josealbertosarangobohorque6851 3 ปีที่แล้ว

      @@JuanSGuzman Uso la expresión asi tal cual me la envía sin nada más o la combino con otra función

  • @paranoidandroid2
    @paranoidandroid2 ปีที่แล้ว

    ⁷ Juan quisiera poder extraer las 2 primeras letras de la 3era palabra "protector de CElular" la palabra "CE" Vi un ejemplo donde colocas un espacio para saltarte a la segunda palabra y así extraer las primeras de la segunda, como sería para la tercera.

    • @JuanSGuzman
      @JuanSGuzman  ปีที่แล้ว +1

      "^\w* \w* \w{2}"
      Saludos!

    • @paranoidandroid2
      @paranoidandroid2 ปีที่แล้ว +1

      @@JuanSGuzmanGracias.

    • @paranoidandroid2
      @paranoidandroid2 ปีที่แล้ว +1

      @@JuanSGuzman Me salió diferente.
      Ejemplo: MICA VIDRIO SIMPLE
      Aplicando:
      =REGEXEXTRACT(G99,"^\w{3}")®EXEXTRACT(G99," \w{3}")®EXEXTRACT(G99,"\w* \w* \w{3}")
      Resultado
      MIC VIDMICA VIDRIO SIM
      Se desearía:
      MIC VID SIM

    • @JuanSGuzman
      @JuanSGuzman  ปีที่แล้ว

      @@paranoidandroid2 Seria asi
      "^\w*{2})"
      "^\w* (\w*){2})"
      "^\w* \w* (\w{2})"

  • @jaimepelegri5475
    @jaimepelegri5475 3 ปีที่แล้ว

    Hola Juan, cómo se podría extraer el valor del medio? 2 / 3 / 0. Muchas gracias

    • @jaimepelegri5475
      @jaimepelegri5475 3 ปีที่แล้ว +1

      Al final lo solucioné usando la función EXTRAER :-)

    • @JuanSGuzman
      @JuanSGuzman  3 ปีที่แล้ว

      @@jaimepelegri5475 Excelente!
      Otra opción es con
      =REGEXEXTRACT(A1;"/(\d)")
      Saludos!

    • @lacs83
      @lacs83 9 หลายเดือนก่อน

      Sin utilizar REGEXP, seria: =INDICE(SPLIT(A1,"/"),,2)

  • @robertomaldonado7438
    @robertomaldonado7438 3 ปีที่แล้ว

    es posible extraer textos de un gmail que em responda un cliente? como un numero de teléfono por ejemplo?

    • @lacs83
      @lacs83 9 หลายเดือนก่อน

      Si, es posible...

  • @walferbroker
    @walferbroker 3 ปีที่แล้ว

    Master

  • @unedocencia1069
    @unedocencia1069 2 ปีที่แล้ว

    Muy bueno , siempre preciso y motivador Gracias Juan...
    Perdona si es impertinente pero encontré un bonito tutorial de Falcon Masters muy completo al respecto (th-cam.com/video/wfogZfIS03U/w-d-xo.html) y lo complemento con el tuyo.
    Te pregunto, ahora:
    Será posible usar esto en un "subrayador" de palabras? Una especia de análisis de contenido rápido. Me explico:
    Tengo celdas con respuestas de entrevistas y necesito que una lista de palabras sean coloreadas...
    una especie de Aquad o Atlas.Ti doméstico XD
    Saludos desde Lima.

    • @JuanSGuzman
      @JuanSGuzman  2 ปีที่แล้ว

      Hola!
      Complejo!
      De pronto con código
      Mil gracias por el video que me compartiste!
      Saludos!

  • @jonathangoez1602
    @jonathangoez1602 2 ปีที่แล้ว +1

    Hola, alguien sabe como puedo extraer los emojis de este texto ¡Hola! 🍒 Quiero recibir más información🍓 y que me queden así 🍒🍓gracias

    • @JuanSGuzman
      @JuanSGuzman  2 ปีที่แล้ว

      Hola!
      quieres extraer todos los emojis? En la misma celda? o en distintas?
      Saludos!

    • @lacs83
      @lacs83 9 หลายเดือนก่อน

      [^\w!¡ áéíóú ]