Cómo usar la función HALLAR de Excel

La función HALLAR de Excel busca una cadena de texto dentro de otra y devuelve su posición inicial dentro de la segunda cadena de texto.

funcion hallar excel

Seguramente ya sepas en Excel se puede buscar con la combinación de teclas Ctrl+F.

Esto está bien para búsquedas sencillas, pero en casos un poco más complejos como búsquedas en rangos de celdas o en textos específicos, esta funcionalidad se queda muy corta.

Veamos entonces con más detalle qué posibilidades no ofrece esta función:

Sintaxis de la función HALLAR

La sintaxis de la función HALLAR es la siguiente:

=HALLAR([cadena buscada];[cadena en la que se busca];[posición inicial])

El significado de los parámetros de esta función es como sigue:

  • [cadena buscada]: el texto que desea buscar. Es un parámetro obligatorio.
  • [cadena en la que se busca]: el texto dentro del cual se desea buscar el valor del parámetro anterior. Es un parámetro obligatorio.
  • [posición inicial]: la posición dentro del texto donde se desea iniciar la búsqueda. Es un parámetro opcional.

Existe también una funciona HALLARB que es básicamente un sinónimo de HALLAR, pero aplicado a idiomas que usan el juego de caracteres de doble byte (DBCS), esa es la única diferencia entre HALLAR y HALLARB. Todo lo explicado aquí es también de aplicación a la función HALLARB.

Algunas cosas a tener en cuenta con esta función:

  • HALLAR no distingue mayúsculas de minúsculas. Si necesitas realizar una búsqueda que lo haga, usa la función ENCONTRAR o la función ENCONTRARB.
  • Esta función admite los comodines habituales. Si no sabes usarlos, es muy sencillo, si echas un vistazo al artículo al final de este apartado lo habrás aprendido en dos minutos.
  • Si no se encuentra la cadena buscada, Excel devuelve #VALOR! (el valor de error).

Uso de comodines en Excel:

Ejemplos de cómo usar la función HALLAR

Por ejemplo: si queremos encontrar la ubicación de la letra "a" en la palabra "palabra", usaremos HALLAR de la siguiente manera:

=HALLAR("a";"palabra")

La función devolverá 2 porque "a" es la segunda letra de la palabra "palabra".

Si añadimos a esta misma función el parámetro opcional de posición tal que empecemos a buscar a partir de la posición 3:

=HALLAR("a";"palabra";3)

el resultado será 4 porque ahora la primera “a” no entra en el rango de la búsqueda y devuelve la posición de la segunda.

También se pueden buscar palabras dentro de otras palabras. Por ejemplo:

=HALLAR("media";"socialmedia")

Aquí el resultado será 7, porque "media" comienza en el séptimo carácter de la palabra "socialmedia".

Por supuesto, estos ejemplos los puedes hacer también con celdas, como veremos a continuación.

Combinar la función HALLAR con la función REEMPLAZAR

Lo que hemos visto está muy bien, pero donde la función HALLAR empieza a ser realmente potente es cuando se usa en combinación con la función REEMPLAZAR.

Para ello, fíjate en esta tabla. Aquí queremos reemplazar en los textos de la columna A la palabra de la celda A5 (“ganancia”) con la palabra de la celda B5 (“beneficio”).

ejemplo funcion hallar reemplazar
Ejemplo de la función HALLAR, combinada con REEMPLAZAR.

Sin entrar en los detalles de la función REEMPLAZAR (consulta la documentación de la función para ello), simplemente tengamos en mente que usa los siguientes parámetros:

=REEMPLAZAR([texto original],[posición inicial],[número caracteres],[nuevo texto])

El parámetro de [posición inicial] indica la posición a partir de la cual se debe realizar la sustitución, y [número caracteres] el número de caracteres a sustituir. Los otros dos parámetros deberían resultar obvios.

La dificultad en utilizar esta función sin más para lograr nuestro propósito se encuentra en que no tenemos un parámetro de posición fijo, varía según la frase en cuestión y eso, esta función no lo admite. En un principio…

Porque sí que hay una solución y es no usar un número o el valor de una celda, sino otra función que nos proporcione esa información. Y eso es justo lo que permite hacer HALLAR en este caso.

Así que la solución consiste en dos fases:

  1. Hallar la posición de manera dinámica: esto lo podemos hacer con HALLAR($A$5;A2) donde hemos fijado la celda A5 con el signo “$” para que no se modifique al arrastrar la fórmula a las sucesivas filas.
  2. Realizar la sustitución: esto lo podemos hacer con REEMPLAZAR(A2;[posición];8;$B$5).

Si sustituimos [posición] con la función de HALLAR tenemos nuestra fórmula definitiva:=REEMPLAZAR(A2;HALLAR($A$5;A2);8;$B$5)

Acerca del autor: Berto López

Soy autor y fundador de este blog, e Ingeniero en Informática de formación con amplia experiencia: he trabajado como empleado, empresario, incluso funcionario. Vamos, que he probado de todo 😄

¿Te gustaría leer un poco más sobre éste u otros temas?