¿Sabes por qué es bueno registrarte?
¿Sabes por qué es bueno registrarte?
Dentro de las funciones lógicas, nos encontramos con una de las más interesantes. ESERROR. Esta función nos devuelve Verdadero o Falso, según funcione o no la función. Hasta ahora todas las que hemos visto realizan una u otra acción, si una condición dada funciona, o no. El casa de ESERROR es distinto ya que contiene un solo argumento y no realiza acción ninguna en base al resultado. Únicamente nos muestra si el contenido de ESERROR tiene o no un error.
Vamos a verlo con un ejemplo:
Nuestro objetivo es obtener una columna “Solución” en la que nos encontremos la calle, sin número. UNICAMENTE EL NOMBRE DE LA CALLE. En el ejemplo solo tendremos 3 filas, por lo que se podría hacer a mano pero…. ¿qué ocurre cuando tenemos mil filas?
Lo primero que hemos hecho es insertar 2 columnas, ante del resultado. Esto nos servirá para comprobar que realmente funcionan nuestras fórmulas y que vamos por el buen camino. Evidentemente, cuando finalicemos eliminaremos estas columnas.
Viendo las direcciones, nos damos cuenta de que para obtener el nombre de la calle debemos extraer el nombre, sin el número. Vamos a buscar por tanto un patrón, que se repita y que podamos utilizar a la hora de hacer un extrae, con un hallar.
En el primer caso tenemos “Goya Nº 11”. Lo más correcto aquí será un Hallar, para localizar en qué posición comienza nuestro patrón. ¿El patrón a buscar? Será “Nº”, ya que si ponemos la “N” solamente, podemos encontrar calles que tengas esa letra y el resultado no sea correcto. Por lo general se pone la cedilla siempre junto a la N para que signifique número. Lo hacemos:
Nos situamos en la celda B2 y escribimos nuestro Hallar:
=Hallar(“Nº”;A2) Si lo has hecho correctamente, el resultado será 6. Esto quiere decir, que nuestro patrón comienza en la posición 6. Evidentemente, queremos saber dónde termina la calle y no, dónde comienza el patrón.
Damos por hecho que entre el nombre de la calle y el Nº, existe un espacio en blanco de forma que 1 de la N y otro del espacio, hacen 2. Si a 6, le restamos 2, nos dará 4. Curiosamente, es el número de caracteres que tiene la calle Goya.
Si bajamos la fórmula ahora, comprobarás que no funciona en el resto. No funciona por una razón sencilla y es que el patrón, cambia en esas direcciones:
Dejamos esto así y vamos ahora a hacer el ESERROR. La manera es muy sencilla, una vez que tenemos hecho nuestro hallar, ahora lo ampliamos de la siguiente manera:
=ESERROR(Hallar(“Nº”;A2)-2)
Fijaros bien, El resultado es ESERROR es FALSO. Eso quiere decir que no hay ningún error y que la función hallar, funciona correctamente. Si bajamos la fórmula, veremos que donde Hallar, no funciona, el resultado de ESERROR será Verdadero.
Seguimos trabajando con la fila 2. Hasta ahora,hemos visto que Hallar funciona y que ESERROR nos da falso.
Para conseguir el resultado que estamos buscando, necesitamos extraer de la dirección, el nombre de la calle. Podríamos utilizar las funciones de EXTRAE o la de IZQUIERDA. En este caso, lo más adecuado es utilizar IZQUIERDA.:
Lo que extraería el nombre sería así: =IZQUIERDA(A2;4). Lo que ocurre es, que no sabemos realmente cuanto mide el nombre de la calle, porque puede variar. Por eso, sustituimos el 4 por la fórmula de hallar que hicimos antes, en la que le restábamos 2. Quedaría así:
La solución que aportamos funciona, pero únicamente en el caso de que se encuentre nuestro patrón. No es operativa para el supuesto de más de mil líneas…..
Para hacerlo perfecto, debemos ampliar la función de nuestra solución, utilizando las fórmulas anteriores, dentro de un SI.
Recuerda que el SI, se compone de 3 argumentos: Condición, OK, KO
Nuestra condición, será el ESERROR. Si se cumple la condición es porque ESERROR da Verdadero, lo que significa que no encuentra lo que estamos buscando. En caso de que no se cumpla la condición, será porque ESERROR es Falso, por lo que podremos extraer el contenido de la celda que nos interesa.
En un primer paso, haremos lo siguiente. Cuando se cumpla la condición pondremos un “Sigue Buscando” y cuando la condición no se cumpla, realizaremos la acción que queremos. Sería de esta forma:
Cuando trabajamos con la función Si, por lo general pretendemos que el OK, nos realice la acción. Sin embargo, al introducir el ESERROR, hacemos lo que se conoce como doble negación, de forma que le hemos dado la vuelta a la pregunta.
Retomando nuestro ejemplo, hemos solucionado uno de los patrones de los 3 que tenemos. ¿Cómo podemos solucionar todos los patrones en nuestra fórmula? Fácil, debemos hacer exactamente lo mismo, pero con otro e los patrones. En este caso, vamos a hacer la com “,”. Debemos tener en cuenta que cuando se escribe una dirección con una coma y el número de la calle, no se coloca ningún espacio antes de la coma. De esta forma entendemos que en vez de restar 2, restaremos 1.
Una vez hemos conseguido hacerla, cambiaremos en la fórmula original el parámetro OK, por la nueva fórmula. De esta manera, estamos anidando unas, dentro de otras.
Para solventar el siguiente patrón, “N.º”, te dejo a ti.
Consigue las últimas actualizaciones por email »
Añadir nuevo comentario