Jump to content

Extraer una palabra entre varios caracteres


Folleloide

Recommended Posts

Hola!

Soy nuevo por aquí! Os cuento; Estoy trabajando en un proyecto donde tengo una fila de registros de servidor con 5000 filas de excel a diario que hay que depurar. Estoy intentando extraer determinados elementos dentro de una cadena, directorio o parte de una url  ->

Ejemplo: /ayuda-excel.php

Llevo varios días buscando una fórmula que me permita extraer los datos entre los caracteres que yo elija, pero no doy con nada que me funcione de forma correcta. He probado con estas combinaciones, a ver si veis algún error o podéis echarme una mano. (Como veréis, la url de la que se quiere extraer estaría en la celda E2)

=EXTRAE(IZQUIERDA(E2;ENCONTRAR("/";E2)+10);ENCONTRAR(".";E2)+1;LARGO(E2)) -> Esta es la que más me convence y no llego a entender que estoy haciendo mal.

=IZQUIERDA(E8;BUSCAR("/";E8;10)) -> En esta no estoy poniendo límites y por tanto me coge hasta el número que yo le doy.

Perdonad si hay algún error, no soy un especialista con las funciones.

El problema es que la secuencia del ejemplo anterior va cambiando y a veces es "/ayuda-excel.php" ,otras "/ayuda-excel/" y otras "/ayuda-excel". Podéis ayudarme a encontrar la forma de extraer esto de forma correcta? Llevo varios días dándole vueltas, pero no encuentro solución.

Espero que podáis echarme una mano!

Gracias de antemano!

Link to post
Share on other sites

 

Hace 13 minutos , Leopoldo Blancas dijo:

Hola,

Debes de poner 10 ejemplo claros. Como son tus cadenas originales y que quieres obtener?, ya que hay direcciones muy largas, etc.

Saludos.

 

 

Vale! Me explico mejor:

Para que veas ejemplos de los datos que tengo y las cadenas posibles:

/robots.txt

/wp-cron.php?50=2

/

/wp-content/uploads/2017/06

/dormir-relajado/

Estas son todas las cadenas posibles que tengo en el archivo, el resto serían variaciones de estas pero con los mismos patrones: Empiezan siempre por "/" y acaban en varios caracteres posibles como son ".","/", o espacio " ".

Lo que busco es sacar de lo que hay arriba en la columna derecha:

robots

wp-cron

wp-content

dormir-relajado

Básicamente es sacar el primer directorio o parte de cada url. Muchas gracias por la ayuda!

Edito: He probado con alguna macro con expresiones regulares que me saquen los datos que te comento, pero tampoco he llegado a una solución.

Saludos

Link to post
Share on other sites

¡Hola, a ambos!

Hace 10 horas, Folleloide dijo:

Empiezan siempre por "/" y acaban en varios caracteres posibles como son ".","/", o espacio " ".

Otra opción puede ser:

=EXTRAE(A2;2;MIN(HALLAR({".";"/";" "};EXTRAE(A2;2;99)&"./ "))-1)

Nota: Mi separador de argumentos es ";".  Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema.  ¡Bendiciones!

Link to post
Share on other sites
Hace 12 horas, Leopoldo Blancas dijo:

Hola,

o lo necesitas en macro?, comentas.

Saludos.

Sin título.png

 

Hace 2 horas, johnmpl dijo:

¡Hola, a ambos!

Otra opción puede ser:


=EXTRAE(A2;2;MIN(HALLAR({".";"/";" "};EXTRAE(A2;2;99)&"./ "))-1)

Nota: Mi separador de argumentos es ";".  Si no es el tuyo, cámbialo por "," o por el que maneje tu sistema.  ¡Bendiciones!

Hola de nuevo!

Increíble! Me han funcionado las dos a la primera. Mil gracias! No se si esto sería posible pasarlo a una macro para meter los datos y que se extraiga automáticamente el resultado.

Cita

o lo necesitas en macro?, comentas.

De esta forma sería perfecto, ya que no `tendría el límite de líneas que yo haya establecido en el documento. No soy muy experto con las macros y más a este nivel 😩 Eso sería perfecto Leopoldo!

La segunda de johnmpl me ha funcionado perfecta, pero en el caso de los "/" no me los referenciaba en la columna de resultado, por tanto no me llegaba a servir del todo. Aún así, funcionaba perfecto. Gracias por la ayuda!

La de Leopoldo ha sido la correcta y la que me ha funcionado perfecto. Además, referencia los "/" en la columna de resultado, que es algo que necesitaba para más tarde construir estadísticas, etc. Muchas gracias por la ayuda Leopoldo y por la respuesta tan rápida!

Muchas gracias a los dos por la ayuda!!

Saludos!!

Link to post
Share on other sites
Hace 1 minuto , Leopoldo Blancas dijo:

Hola a ambos,

Solo modifica la formula de John así:


=SI(A2="/","/",EXTRAE(A2,2,MIN(HALLAR({".";"/";" "},EXTRAE(A2,2,99)&"./ "))-1))

Saludos  a ambos.

 

Hola de nuevo Leopoldo!

Gracias por el aporte. La tuya me ha funcionado perfecto. Aún así, me guardo esta modificada ya que también funciona. Ves posible pasar esto a una macro? Como podría automatizar este proceso de forma que introduzca los datos y me saque el resultado?

Además, es principalmente por el número de líneas que yo haya establecido en el archivo original. Creo que con la macro esto no pasaría y podría extraer todos los datos que se introduzcan en esa columna. Sean 2000 o 5000. En el caso de que sean más que los establecidos en el archivo original.

Saludos y gracias de nuevo!

Link to post
Share on other sites

¡Hola, de nuevo!

En el archivo están 2 propuestas.  La mía corregida (igual a la que te propuso @Leopoldo Blancas en el post anterior... podrías haberlo hecho tu en mi fórmula), y una propuesta con VBA (presionando en la flecha azul).

¡Comentas! ¡Bendiciones!

Ejemplo.xlsb

Link to post
Share on other sites
Hace 18 horas, johnmpl dijo:

¡Hola, de nuevo!

En el archivo están 2 propuestas.  La mía corregida (igual a la que te propuso @Leopoldo Blancas en el post anterior... podrías haberlo hecho tu en mi fórmula), y una propuesta con VBA (presionando en la flecha azul).

¡Comentas! ¡Bendiciones!

Ejemplo.xlsb 19 kB · 2 downloads

 

Hace 18 horas, Leopoldo Blancas dijo:

Hola a Ambos,

Mi Aporte: Pulsa sobre la flecha azul...!!!

Saludos.

 

Formulas_ObtenerDireccionURL_LBV.xlsm 18 kB · 2 downloads

Cualquiera de las dos perfectas y me han funcionado. 😃

Muchas gracias por el pedazo de aporte y la ayuda!!

Saludos!!

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.


  • Crear macros Excel

  • Posts

    • Hola Cracks! De nuevo necesitando de su apoyo, Tengo una tabla que me muestra el Fill Rate de ordenes de venta  que obtengo por la siguiente formula: Cantidad facturada/Cantidad de Pedido Cuando en una misma fila esta toda la cantidad facturada por toda la cantidad del pedido la formula corre bien y nos da el 100% ,el problema está cuando  una cantidad de pedido se divide entre varias cantidades facturadas se debe dividir todas por la misma cantidad de pedido,  se vería de esta forma: Cantidad de Pedido   | Cantidad Facturada  | Fill Rate 858                                  396                                46% 0                                      129                                 15% 0                                      333                                 39%   El tema es que antes de hacer la división tiene que que comprobar que la cantidad de pedido es diferente a 0 , si es 0 debe correr un ciclo for que le reste -1  a la fila hasta que encuentre la fila de arriba (858) con un valor numérico para poder hacer la división y se le asigne un %. Les dejo mi archivo con un link por We Transfer, espero me puedan ayudar. https://we.tl/t-FM5vlSr9sm En la hoja BD es tal cual esta la tabla antes de aplicarle la macro. En la hoja BD Solucion1de2 se aplica la primer corrección que seria ligar la cantidad facturada a la cantidad de pedido que le corresponde y no dividirlo por 0. En la hoja BD Solucion2de2 se aplica la segunda corrección que seria eliminar todas las filas cuyo Fill Rate sea mayor a 100% porque seria un valor irreal.
    • Hola Ramon Hay variedad de patrones y formas, para obtener acumulados en DAX, pero también comentar que depende de modelado que se tiene  Un ejemplo puede ser  AcumuladoVentas = CALCULATE ( [TotalVentas]; FILTER ( ALL ( Calendario ); Calendario[Fecha] <= MAX ( Calendario[Fecha] ) ) ) [TotalVentas]: es la medida de sumar, pero puede ser cualquier medida que tengas para tu acumulado   Saludos! 
    • Aqui esta el archivo en excel y una de las planillas en word en las que la macro sustituye los datos. Datos_Licitaciones.xlsm Cotizacion.docx
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy