Las funciones FIND and SEARCH en Excel
ENCONTRAR (Inglés: FIND) devuelve la posición de un carácter o una palabra dentro de un texto: la @ de una dirección de correo está en la posición 12. Por sí solo rara vez es el objetivo; es el auxiliar que indica a IZQUIERDA (Inglés: LEFT) y EXTRAE (Inglés: MID) dónde cortar.
HALLAR (Inglés: SEARCH) hace lo mismo, pero ignora mayúsculas y minúsculas y admite comodines. Si no encuentra nada, ambas devuelven #VALUE!.
Sintaxis
=FIND(find_text, within_text, [start_num])
| Argumento | Qué significa |
|---|---|
| find_text | Lo que buscar, p. ej. «@» o un espacio. |
| within_text | El texto o la celda en el que buscar. |
| start_numopcional | Desde dónde empezar a buscar. Predeterminado: 1. Úsalo para encontrar la segunda aparición. |
Ejemplos
1. Posición de un carácter
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | Correo | Posición de la @ | |
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 12 |
«omar.haddad» tiene 11 caracteres, así que la @ es el carácter 12.
2. La segunda aparición
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | Correo | Segundo guion | |
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 8 |
El primer guion está en la posición 3, así que empieza a buscar en la 4: el siguiente está en la 8.
3. Ignorar mayúsculas: SEARCH
| A | B | C | D | |
|---|---|---|---|---|
| 1 | SKU | Correo | Posición de "MAIL" | |
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | 17 |
HALLAR (Inglés: SEARCH) encuentra «mail» en shopmail.com aunque cambie la capitalización. =ENCONTRAR("MAIL";B2) devolvería #VALUE!.
Errores comunes
Error #VALUE!. El texto no se encontró, a menudo por una diferencia de mayúsculas con ENCONTRAR (Inglés: FIND).
Corrección: Usa HALLAR (Inglés: SEARCH) para ignorar mayúsculas, o
=SI.ERROR(ENCONTRAR("@";B2);0)cuando pueda faltar.Un carácter de más al cortar.
=IZQUIERDA(A2;ENCONTRAR(" ";A2))incluye el propio espacio.Corrección: Resta 1 para IZQUIERDA (Inglés: LEFT), y suma 1 para EXTRAE (Inglés: MID).
Preguntas frecuentes
¿Cómo compruebo si una celda contiene una palabra?
=ESNUMERO(HALLAR("mail";B2)) devuelve VERDADERO cuando la palabra aparece en cualquier parte, con cualquier capitalización.
Funciones relacionadas
- LEFTLEFT devuelve los primeros caracteres de un texto, y RIGHT los últimos.
- MIDMID devuelve caracteres del medio de un texto: una posición de inicio y una longitud.
- TEXTAFTERTEXTAFTER y TEXTBEFORE dividen un texto por un delimitador, como la @ de un correo, sin contar posiciones.
- SUBSTITUTESUBSTITUTE reemplaza un texto concreto dentro de una celda por otro texto, en todas sus apariciones o solo en una.