top of page

Extraer provincias de frases

Tenemos una serie de frases, donde aparece una provincia en cada frase.






Tenemos una serie de provincias.







Debemos de crear un informe donde vamos a extraer la provincia de cada frase.

En la celda B2, usamos LET, creamos una variable, usamos ENCONTRAR, como argumento texto buscado, seleccionamos el rango A7:A9, que son las provincias para buscar, como argumento dentro del texto, seleccionamos el rango A2:A4.


Probamos variable.


=LET(a;ENCONTRAR(A7:A9;A2:A4);a)


Obtenemos la posición de la primera letra de cada provincia.






Debemos de encontrar el espacio que hay después de la provincia, creamos otra variable, volvemos a usar ENCONTRAR, como argumento texto buscado, ponemos un espacio, como argumento dentro del texto, seleccionamos el rango A2:A4, como argumento número inicial, es decir, a partir de que posición debe de empezar a buscar, ponemos la variable “a”.


=LET(a;ENCONTRAR(A7:A9;A2:A4);b;ENCONTRAR(" ";A2:A4;a);b)


Obtenemos la posición del espacio después de cada provincia.







Creamos otra variable, restamos la variable “b” a la variable “a”, y, obtenemos los caracteres a extraer.


=LET(a;ENCONTRAR(A7:A9;A2:A4);b;ENCONTRAR(" ";A2:A4;a);c;b-a;c)






Como argumento calculo de LET, usamos EXTRAE, como argumento texto, seleccionamos el rango A2:A4, como argumento posición inicial, ponemos la variable “a”, como argumento número de caracteres, ponemos la variable “c”.


=LET(a;ENCONTRAR(A7:A9;A2:A4);b;ENCONTRAR(" ";A2:A4;a);c;b-a;EXTRAE(A2:A4;a;c))


Aceptamos, y, ya lo tenemos.







Y si en una misma frase, tenemos dos provincias, como sigue:





Vamos a extraer las provincias, las funciones a usar son muy parecidas al ejemplo anterior.

En la celda B14, usamos LET, creamos una variable, usamos ENCONTRAR, como argumento texto buscado, seleccionamos el rango A7:A9, como argumento dentro del texto, seleccionamos la celda A14.


Obtenemos la posición de la primera letra de cada provincia, y, error donde no hay coincidencia.






Creamos otra variable, volvemos a usar ENCONTRAR, como argumento texto buscado, ponemos un espacio, como argumento dentro del texto, ponemos la celda A14, como argumento número inicial, ponemos la variable “a”.


=LET(a;ENCONTRAR(A7:A9;A14);b;ENCONTRAR(" ";A14;a);b)


Obtenemos una matriz desbordada donde vemos dos errores, el ultimo error es porque la provincia Huelva no se encuentra en la frase, y, el segundo error, es porque no ha encontrado un espacio después de la última provincia.






Usamos la funcion SI.ERROR, y, si la expresión anterior devuelve un error, usamos la funcion LARGO como argumento ponemos la celda A14 y sumamos 1.


=LET(a;ENCONTRAR(A7:A9;A14);b;SI.ERROR(ENCONTRAR(" ";A14;a);LARGO(A14)+1);b)


Donde había error, tenemos la longitud de la cadena más 1.






Creamos otra variable, igual que antes, restamos la variable “b” con la variable “a”.


=LET(a;ENCONTRAR(A7:A9;A14);b;SI.ERROR(ENCONTRAR(" ";A14;a);LARGO(A14)+1);c;b-a;c)


Obtenemos los caracteres a extraer, teniendo en error en la última celda, poque no hay caracteres a extraer.






Usamos el argumento cálculo de LET, usamos EXTRAE, como argumento texto, seleccionamos la celda A14, como argumento posición inicial, ponemos la variable “a”, como argumento número de caracteres, ponemos la variable “c”.


=LET(a;ENCONTRAR(A7:A9;A14);b;SI.ERROR(ENCONTRAR(" ";A14;a);LARGO(A14)+1);c;b-a;EXTRAE(A14;a;c))


Obtenemos las provincias y error en la última celda.






Usamos ENCOL, como argumento matriz es la expresión anterior, como argumento ignorar, ponemos 3, es decir, ignorar blancos y errores.


=LET(a;ENCONTRAR(A7:A9;A14);b;SI.ERROR(ENCONTRAR(" ";A14;a);LARGO(A14)+1);c;b-a;ENCOL(EXTRAE(A14;a;c);3))


Aceptamos, y, ya lo tenemos.







Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page