Inicio › Funciones de Excel › ENCONTRAR y HALLAR
ENCONTRAR y HALLAR en Excel: localizar texto en una celda
ENCONTRAR y HALLAR devuelven la posición de un trozo de texto dentro de una celda. Eso ya es útil, pero sobre todo sirven como pieza para otras fórmulas: comprobar si una celda contiene una palabra o extraer todo lo que hay antes o después de un carácter. En el Excel en inglés, las funciones se llaman FIND y SEARCH.
En esta guía
Sintaxis
=ENCONTRAR(texto_buscado; dentro_del_texto; [núm_inicial]) =HALLAR(texto_buscado; dentro_del_texto; [núm_inicial])Las dos devuelven un número: la posición del primer carácter de la coincidencia. =ENCONTRAR("@"; "ana@ejemplo.com") devuelve 4. Si no encuentran el texto, las dos devuelven #¡VALOR!.
La diferencia
| ENCONTRAR | HALLAR | |
|---|---|---|
| Distingue mayúsculas | Sí | No |
| Comodines (* y ?) | No | Sí |
"excel" en "Excel CSE" | #¡VALOR! | 1 |
En la mayoría de los casos del día a día te conviene HALLAR, porque "Urgente" y "urgente" deberían contar igual.
Practica ENCONTRAR y HALLAR: pruébalo tú mismo
Leer es una cosa y escribirlo es otra. Construye la fórmula de abajo paso a paso: las pistas te dicen qué escribir, y puedes hacer clic en las celdas o arrastrar sobre ellas para añadirlas, igual que en Excel.
Tarea: Busca la posición de la @ en el correo electrónico, en B2: =ENCONTRAR("@";A2)
Comprobar si una celda contiene una palabra
Envuelve HALLAR en ESNUMERO: un número significa que lo encontró y un error, que no.
=ESNUMERO(HALLAR("urgente"; A2))Devuelve VERDADERO o FALSO. Dentro de SI:
=SI(ESNUMERO(HALLAR("urgente"; A2)); "Prioridad"; "")Así también se filtra por texto parcial con FILTRAR y se usa "contiene" en el formato condicional.
Extraer el texto antes o después de un carácter
- Usuario de un correo:
=IZQUIERDA(A2; ENCONTRAR("@"; A2)-1)devuelve "ana". - Dominio:
=EXTRAE(A2; ENCONTRAR("@"; A2)+1; 100)devuelve "ejemplo.com".
Lee IZQUIERDA, DERECHA y EXTRAE. En Microsoft 365 y Excel 2024, TEXTOANTES y TEXTODESPUES lo hacen sin ENCONTRAR.
Encontrar la segunda aparición
Usa núm_inicial para empezar a buscar justo después de la primera coincidencia:
=ENCONTRAR("-"; A2; ENCONTRAR("-"; A2)+1)En "P-104-ES" devuelve 6, la posición del segundo guion.
Preguntas frecuentes
¿Por qué ENCONTRAR devuelve #¡VALOR!?
No encontró el texto, quizá porque las mayúsculas no coinciden. Usa HALLAR para una búsqueda sin distinguir mayúsculas, y SI.ERROR para gestionar los valores que faltan.
¿Cómo compruebo si una celda contiene una de varias palabras?
Combina las comprobaciones con O: =O(ESNUMERO(HALLAR("urgente"; A2)); ESNUMERO(HALLAR("ya"; A2))).
¿Puede HALLAR usar comodines?
Sí. =HALLAR("fac*2026"; A2) encuentra "fac" seguido de cualquier cosa y luego "2026".