La función HALLAR en Excel es una función muy conocida dentro de las funciones de texto y ayuda a ordenar contenido de las hojas de Excel. Las principales ventajas de esta función son, que no distingue entre mayúsculas o minúsculas, y permite el uso de los comodines estándar de Excel (“?” y “*”) para un único carácter o una secuencia de ellos.
Categoría: Funciones de texto.
¿Para qué sirve?: La función HALLAR en Excel sirve para devolver la posición dentro de una cadena de texto donde encuentra un carácter especificado.
Sintaxis: HALLAR (texto_buscado, dentro_del_texto, [núm_inicial])
Explicación de la función HALLAR en Excel (SEARCH en inglés)
Esta función tiene 3 argumentos:
- texto_buscado: Es un argumento obligatorio. Se refiere al texto que deseas buscar.
- dentro_del_texto: Es un argumento obligatorio. Indica el texto en el que desea encontrar el valor del argumento texto_buscado.
- núm_inicial: Es un argumento obligatorio. Se refiere al número de carácter en el argumento dentro_del_texto donde desea iniciar la búsqueda.
Observaciones
- Las funciones HALLAR y HALLARB no distinguen mayúsculas de minúsculas. Si desea realizar una búsqueda que distinga mayúsculas de minúsculas, puede usar ENCONTRAR y ENCONTRARB.
- Si el valor de texto_buscado no se encuentra, se devuelve el valor de error #VALOR!
- Si el argumento núm_inicial se omite, el valor predeterminado es 1.
Uso de la función HALLAR en Excel
Imaginemos que tenemos una lista de nombres en la columna A y que tienen el siguiente formato: Clarke, Emilia | Daenerys Targaryen como podemos ver es el nombre de una actriz y de su personaje en la famosa serie Juego de Tronos. En una sola celda tenemos: Apellido, Nombre | Nombre del personaje
Imagina que lo que queremos es tener en columnas separadas el Nombre, el Apellido y el Nombre del personaje. De esta forma podremos hacer ordenaciones por cualquier de las diferentes columnas. En este ejemplo con la función HALLAR de Excel veremos cómo dividir el contenido de la celda A en varias celdas.
Empezaremos extrayendo el nombre del personaje. Para ello debemos fijarnos, que, en todos los casos, el nombre real del personaje empieza desde el símbolo | hasta el final de la celda.
De tal forma que tendremos que buscar una función que nos permita extraer parte del contenido de la celda desde una posición determinada, en este caso la posición nos la marcará el carácter «|» que en cada uno de los casos está en una posición diferente.
La función HALLAR en Excel junto con EXTRAE Y LARGO
La función que utilizaremos para coger parte del texto será EXTRAE recordemos sus argumentos: EXTRAE(Texto; Posición inicial; Número de caracteres a extraer)
Esta columna la empezaremos a escribir en la celda B2. El argumento Texto es sencillo, ya que es la celda A2. El argumento Posición inicial, ya se complica un poco más ya que tenemos que saber que posición ocupa “|” y el Número de caracteres a extraer será desde el | hasta el final de la celda.
Vamos a ver como solucionamos el argumento Posición inicial.
Para ello debemos utilizar una función que nos devuelva la posición donde se encuentra el carácter |. Para ello, usaremos la función HALLAR() que sólo tiene dos argumentos obligatorios, el carácter que deseamos buscar y donde lo buscamos. De tal forma que podríamos escribir la función =HALLAR(“|”;A2) y nos debería devolver 16 en el primero de los ejemplos.
Ahora que ya sabemos la posición en la que se encuentra este carácter, lo único que nos falta es saber el número de caracteres que tenemos que extraer, recuerda que la función EXTRAE no devuelve los caracteres desde una posición hacia la derecha.
Para hacer esto es muy sencillo, tan solo deberemos saber cuántos caracteres tiene en total la celda y restarlo de la posición de “|”.
Para saber cuántos caracteres hay en una celda utilizaremos la función LARGO(). Esta función solo tiene un argumento y sería la celda donde se encuentra el texto que deseamos saber su longitud. De tal forma que si escribimos la función =LARGO(A2) nos debería devolver 35.
De tal forma para saber el Número de caracteres a extraer deberemos escribir la función =LARGO(A2)-HALLAR(“|”;A2) y en este caso nos dará como resultado 19.
Función anidada de HALLAR completa
Ahora tan solo nos falta unificar todas las partes en la función EXTRAER que hemos visto, para obtener el resultado que estamos esperando. La función siguiendo los parámetros que hemos visto anteriormente debería ser:
=EXTRAE(A2;HALLAR(“|”;A2);LARGO(A2)-HALLAR(“|”;A2))
Al ver el resultado de esta función nos encontramos con este resultado “| Daenerys Targaryen” que como podemos ver no es el esperado ya que estamos arrastrando el carácter | y un espacio en blanco en la parte de delante.
¿Cómo solucionar esto? Muy sencillo, moviendo dos posiciones el inicio de donde empezamos a extraer caracteres:
=EXTRAE(A2;HALLAR(“|”;A2)+2;LARGO(A2)-HALLAR(“|”;A2))
Con este pequeño arreglo, ya hemos conseguido el resultado esperado. Si arrastramos la función hacia abajo veremos que en el resto de los casos obtenemos lo que estábamos esperando.
El uso múltiple de la función HALLAR en una fórmula
Vamos ahora a conseguir el nombre y colocarlo en la celda C2. En esta ocasión la función es similar, pero el Nombre se encuentra en medio y está limitado en todos los casos por una “coma” y el símbolo “|” con lo que la Posición inicial nos la marcará la “coma” y el Número de caracteres nos lo indicará la posición en la que encontramos el símbolo“|”.
De esta forma la función que deberemos escribir en la celda C2 quedaría de la siguiente forma:
=EXTRAE(A2;HALLAR(“,”;A2);HALLAR(“|”;A2)-HALLAR(“,”;A2))
Observa que hay pequeñas diferencias con la anterior. En este caso el primer argumento buscamos el carácter “,” y para saber el número de caracteres a extraer lo que hacemos es calcular cuántos caracteres hay entre “|” y “,”.
Esta resta nos marca el número de caracteres que deberemos extraer. Pero ahí no queda todo, ya que al ver el resultado nos devuelve lo siguiente “, Emilia ” observa que tenemos la , un espacio y además un espacio en blanco después. ¿Cómo solucionar esto?
Para eliminar la “coma” y empezar a contar desde la primera letra tan solo deberemos sumar dos a la posición inicial HALLAR(“,”;A2)+2 pero ahora vemos que tenemos más caracteres por la derecha, con lo que deberemos ajustarlos y en este caso restaremos 3, (espacio, | y espacio). De tal forma la función final quedaría así:
=EXTRAE(A2;HALLAR(“,”;A2)+2;HALLAR(“|”;A2)-HALLAR(“,”;A2)-3).
Si arrastramos hacia abajo ya tendremos todos los nombres en su lugar.
La función HALLAR en Excel junto con la función IZQUIERDA
Ahora solo nos queda extraer el apellido, que en este caso está en primera posición. En esta ocasión utilizaremos la función IZQUIERDA() ya que es mucho más sencillo para conseguir extraer caracteres a partir de la izquierda de un texto. La sintaxis de la función es la siguiente: IZQUIERDA(Texto; Número de caracteres a extraer)
En esta función simplemente debemos indicar donde está el texto con el que queremos trabajar y el número de caracteres que debemos extraer. Y aquí pasa igual que en la otra función, para saber hasta donde debemos extraer nos lo marcará la posición de la “,” y para eso utilizaremos como anteriormente la función HALLAR().
De esta forma la función quedaría así =IZQUIERDA(A2;HALLAR(“,”;A2)). Al ver el resultado observamos que nos falta retocarla un poco para conseguir el resultado deseado, ya que veremos que nos está devolviendo “Clarke,” (el nombre con la “coma”)
¿Qué falta por hacer? pues simple, muy simple, solo deberemos restar 1 al número de caracteres a extraer y ya tenemos el resultado esperado: =IZQUIERDA(A2;HALLAR(“,”;A2)-1).
Cuando dominas las posibilidades de Excel, es mucho más fácil y rápido hacer tu trabajo
Si alguna vez necesitas ordenar contenido de las hojas de Excel, habrás visto que con la función HALLAR es mucho más fácil. Si quieres conocer y dominar todo el potencial que te ofrece Excel para ser más eficiente en tu trabajo, infórmate de nuestro curso práctico de Excel.
¿No conoces Aglaia? Somos tus consultores especializados en herramientas Microsoft. Te acompañamos en cada paso de tu formación para garantizar que sacas el máximo provecho de tus datos.