Ejemplos de Funciones ENCONTRAR en Excel, VBA y Google Sheets
Download the example workbook
Este tutorial muestra cómo utilizar la Función ENCONTRAR en Excel y Google Sheets para encontrar texto dentro de un texto.
¿Qué es la Función ENCONTRAR?
La función ENCONTRAR de Excel intenta encontrar una cadena de texto dentro de otra cadena de texto. Si la encuentra, ENCONTRAR devuelve la posición numérica de esa cadena.
Nota: ENCONTRAR distingue entre mayúsculas y minúsculas. Así, «texto» NO coincidirá con «TEXTO». Para buscar sin distinguir entre mayúsculas y minúsculas, utilice la función HALLAR.
Cómo Utilizar la Función ENCONTRAR
Para utilizar la función ENCONTRAR de Excel, escriba lo siguiente:
=ENCONTRAR("e";"elefante")
En este caso, Excel devolverá el número 1, porque «e» es el primer carácter de la cadena «elefante». Veamos otros ejemplos:
Número Inicial (núm_inicial)
El número de inicio le dice a ENCONTRAR desde qué posición numérica de la cadena debe empezar a buscar. Si no lo defines, ENCONTRAR empezará desde el principio de la cadena.
=ENCONTRAR(B3;C3)
Ahora intentemos definir un número de inicio de 2. Aquí, vemos que ENCONTRAR devuelve 3. Como empieza a buscar a partir del segundo carácter, pasa por alto la primera «e» y encuentra la segunda:
=ENCONTRAR(B3;C3;D3)
Número Inicial (núm_inicial) Errores
Si quiere utilizar un número de inicio, debe hacerlo:
- ser un número entero
- ser un número positivo
- ser menor que la longitud de la cadena que se busca
- no referirse a una celda en blanco, si se define como referencia de celda
De lo contrario, ENCONTRAR devolverá un error #¡VALOR! como se muestra a continuación:
¡Las Búsquedas Infructuosas Devuelven un Error #¡Valor!
Si ENCONTRAR no localiza la cadena que está buscando, devolverá un error de valor:
ENCONTRAR Distingue entre Mayúsculas y Minúsculas
En el ejemplo siguiente, estamos buscando «abc». ENCONTRAR devuelve 10 porque distingue entre mayúsculas y minúsculas: ignora «ABC» y las demás variaciones:
ENCONTRAR No Acepta Comodines
No se pueden utilizar comodines con ENCONTRAR . A continuación, buscamos «?000». En una búsqueda con comodines, esto significaría «cualquier carácter seguido de tres ceros». Pero ENCONTRAR lo toma literalmente como «un signo de interrogación seguido de tres ceros»:
Lo mismo ocurre con el comodín asterisco:
En cambio, para buscar texto con comodines, puede utilizar la función HALLAR:
Cómo Dividir los Nombres y Apellidos de una Celda con ENCONTRAR
Si tu hoja de cálculo tiene una lista de nombres con el nombre y el apellido en la misma celda, es posible que quieras separarlos para facilitar la clasificación. ENCONTRAR puede hacerlo, con la ayuda de otras funciones.
Obtención del Nombre
La función IZQUIERDA devuelve un número determinado de caracteres de una cadena, empezando por la izquierda.
Podemos usarla para obtener el nombre, pero como los nombres tienen diferentes longitudes, ¿cómo sabemos cuántos caracteres devolver?
Fácil – simplemente usamos ENCONTRAR para devolver la posición del espacio entre el nombre y el apellido, restamos 1 de eso, y eso es cuántos caracteres le decimos a IZQUIERDA que nos dé.
La fórmula es así:
=IZQUIERDA(B3;ENCONTRAR(" ";B3)-1)
Obtención del Apellido
La función DERECHA devuelve un número determinado de caracteres de una cadena, empezando por la derecha.
Aquí tenemos el mismo problema que con el primer nombre, pero la solución es diferente, porque tenemos que obtener el número de caracteres entre el espacio y el borde derecho de la cadena, no el izquierdo.
Para obtenerlo, usamos ENCONTRAR para que nos diga dónde está el espacio, y luego restamos ese número del número total de caracteres de la cadena, que nos puede dar la función LARGO.
La fórmula se ve así:
=DERECHA(B3;LARGO(B3)-ENCONTRAR(" ";B3))
Si el nombre contiene un segundo nombre, tenga en cuenta que se dividirá en la celda del apellido.
Encontrar el Enésimo Carácter en una Cadena
Como se ha indicado anteriormente, ENCONTRAR devuelve la posición de la primera coincidencia que encuentra. Pero, ¿qué ocurre si quiere encontrar la segunda aparición de un determinado carácter, o la tercera, o la cuarta?
Esto es posible con ENCONTRAR, pero tendremos que combinarlo con un par de otras funciones: CARACTER y SUSTITUIR.
Así es como funciona:
- CARACTER devuelve un carácter basado en su código ASCII. Por ejemplo, =CARACTER(134) devuelve el símbolo de la daga.
- SUSTITUIR recorre una cadena y le permite cambiar un carácter por cualquier otro.
- Con SUSTITUIR puedes definir un número de instancia, lo que significa que puede intercambiar la enésima ocurrencia de una cadena dada por cualquier otra.
- Así, la idea es que tomamos nuestra cadena, usamos SUSTITUIR para intercambiar la instancia del carácter que queremos encontrar por otra cosa. Usaremos CARACTER para cambiarlo por algo que probablemente no se encuentre en la cadena, y luego usaremos ENCONTRAR para localizar ese oscuro sustituto.
La fórmula tiene el siguiente aspecto:
=ENCONTRAR(CARACTER(134);SUSTITUIR(D3;C3;CARACTER(134);B3))
Y así es como funciona en la práctica:
ENCONTRAR vs HALLAR
ENCONTRAR y HALLAR son muy similares: ambos devuelven la posición de un determinado carácter o subcadena dentro de una cadena. Sin embargo, hay algunas diferencias:
- ENCONTRAR distingue entre mayúsculas y minúsculas, pero HALLAR no
- ENCONTRAR no permite comodines, pero HALLAR sí
A continuación puede ver algunos ejemplos de estas diferencias:
HALLAR en Google Sheets
La función HALLAR funciona exactamente igual en Google Sheets que en Excel:
Notas Adicionales
La función ENCONTRAR distingue entre mayúsculas y minúsculas.
La función ENCONTRAR no admite comodines.
Utilice la función HALLAR para utilizar comodines y para búsquedas que no distingan entre mayúsculas y minúsculas.
Ejemplos de FIND (ENCONTRAR) en VBA
También puede utilizar la función FIND en VBA. Escriba:
Application.WorksheetFunction.Find(find_text,within_text,start_num)
Para los argumentos de la función (find_text, etc.), puede introducirlos directamente en la función, o definir variables para utilizarlos en su lugar.