TL;DR —
FINDySEARCHno cortan una cadena: te dicen dónde empieza un trozo de ella, como número.FIND("@", A2)devuelve la posición de la@; ese número se lo pasas aMID/LEFTpara cortar por contenido en lugar de por una frágil posición fija. Dos diferencias deciden cuál usar:FINDdistingue mayúsculas de minúsculas y no admite comodines;SEARCHno las distingue y acepta*y?. Y la trampa que enrojece columnas enteras: cuando no hay coincidencia, ambas devuelven#VALUE!—nunca 0, nunca vacío— así que envuélvelas enIFERRORo compruébalas conISNUMBER. En todas las versiones de Excel.
=FIND("@", A2) ' posición de @ (distingue mayúsculas, exacta)
=SEARCH("st", A2) ' posición de "st"/"ST"/"St" (sin distinguir mayúsculas)
=ISNUMBER(SEARCH("paid", A2)) ' VERDADERO si A2 contiene "paid", en cualquier caja
FIND y SEARCH son las funciones que la gente usa menos por sí solas y más dentro
de otras fórmulas — y eso es justo lo importante. Son el GPS que hace fiable la extracción
de texto. Entiéndelas y el frágil hábito del RIGHT(A2, 4) desaparece.
Lo que vas a aprender
- Por qué
FIND/SEARCHdevuelven una posición, no el texto — y qué hacer con ella - Las dos diferencias reales: distinción de mayúsculas y comodines
- Por qué una coincidencia ausente devuelve
#VALUE!, y las dos formas de manejarlo - El idioma
ISNUMBER(SEARCH(...))para un test limpio de "¿lo contiene?" - Usar el 3.er argumento para encontrar la segunda aparición
El modelo mental: un buscador de referencias, no un cortador
LEFT, MID y RIGHT cortan. FIND (en español: ENCONTRAR) y SEARCH (en español:
HALLAR) localizan. Responden a una sola pregunta —"¿en qué posición de carácter empieza
esta subcadena?"— y devuelven un número. Por sí solo ese número parece inútil; su trabajo
es convertirse en el núm_inicial de un MID o en el argumento de longitud de un LEFT:
' Obtener el dominio de un email: todo lo que va después de la @
=MID(A2, FIND("@", A2) + 1, 99)
' Obtener el nombre de pila: todo lo que va antes del primer espacio
=LEFT(A2, FIND(" ", A2) - 1)
Este es el emparejamiento que convierte el corte por posición en corte por contenido. Dejas de decir "toma los caracteres del 1 al 5" y empiezas a decir "toma todo hasta el espacio, esté donde esté". El corte ahora sigue a los datos en lugar de suponer su forma.
La regla que lo desbloquea todo: FIND vs SEARCH son dos diferencias, no una
La gente recuerda "FIND distingue mayúsculas" y se olvida de la segunda diferencia, igual de importante. Aquí está el cuadro completo:
| Mayúsculas | Comodines (* ?) |
|
|---|---|---|
FIND |
Distingue — "a" ≠ "A" |
No admite (los trata literalmente) |
SEARCH |
No distingue — "a" = "A" |
Admite |
Así que:
=FIND("s", "Sales") ' 5 — la s minúscula; la S mayúscula se salta
=SEARCH("s", "Sales") ' 1 — coincide con la S mayúscula, ignora la caja
=SEARCH("a?c", A2) ' busca "a", cualquier carácter, "c" — solo SEARCH hace esto
=FIND("a?c", A2) ' busca el texto literal "a?c"
El criterio es sencillo: recurre a FIND cuando importen las mayúsculas o cuando tu
término de búsqueda contenga caracteres que de otro modo actuarían como comodines; recurre a
SEARCH cuando quieras una coincidencia indulgente y humana. Para "¿menciona esta celda
'paid' en cualquier capitalización?", SEARCH es la herramienta correcta.
La trampa #VALUE!: la ausencia de coincidencia es un error, no un cero
Este es el comportamiento que sorprende a todo el mundo. Cuando la subcadena no está,
FIND y SEARCH no devuelven 0 ni una cadena vacía: devuelven #VALUE!. Mete uno en una
columna donde algunas filas no tienen la subcadena y la columna entera se enciende en rojo,
arrastrando consigo cualquier fórmula que la referencie.
Dos arreglos limpios, según lo que estés haciendo:
' Extrayendo, pero algunas filas pueden no tener el delimitador:
=IFERROR(MID(A2, FIND("-", A2) + 1, 99), A2) ' recurre a la cadena completa
' Solo comprobando la presencia — sin extraer nada:
=ISNUMBER(SEARCH("urgent", A2)) ' VERDADERO / FALSO, nunca da error
Ese segundo idioma es el que hay que memorizar. ISNUMBER(SEARCH(término, texto)) es cómo
Excel hace un test de "contiene" sin distinguir mayúsculas — combínalo con IF, FILTER
o formato condicional para marcar cada fila que mencione una palabra. Es más limpio y rápido
que cualquier malabarismo de comodines con COUNTIF, y nunca da error.
El 3.er argumento: encontrar la segunda aparición
Ambas funciones admiten un núm_inicial opcional — la posición desde la que empezar a buscar.
Su uso principal es saltarse la primera coincidencia para encontrar la siguiente:
=FIND("-", A2) ' posición del 1.er guion
=FIND("-", A2, FIND("-", A2) + 1) ' posición del 2.º guion
Anidar así para llegar a la n-ésima aparición es donde estas fórmulas dejan de ser legibles.
Si te ves contando apariciones, esa es la señal para cambiar a
TEXTSPLIT (divide por el delimitador y toma el trozo que
quieras) o a Power Query.
El criterio
FIND y SEARCH casi nunca aparecen solas — si estás usando una por sí misma, probablemente
quieres el test de contenido ISNUMBER(SEARCH()) en lugar de una posición en bruto. Su verdadero
hogar es dentro de un MID/LEFT/REPLACE, aportando la posición para que el corte siga al
contenido. Elige FIND para coincidencias exactas, conscientes de las mayúsculas y literales;
elige SEARCH para coincidencias indulgentes, con comodines y humanas. Y nunca escribas ninguna
de las dos sin decidir qué pasa cuando no hay coincidencia — #VALUE! no es un "ups", es el
comportamiento documentado. Cuando el anidamiento llega a tres niveles, para y divide la cadena
en su lugar.
Cómo ayuda ExcelMaster
Dominios de email, el texto entre el segundo y el tercer guion, la parte de una dirección
después de la última coma — estos son rompecabezas de FIND/SEARCH, y la parte engorrosa son
los desplazamientos +1/-1 y el manejo del "sin coincidencia". ExcelMaster escribe la
expresión entera a partir de una descripción en lenguaje natural: anclajes correctos, la
protección con IFERROR o ISNUMBER ya colocada, y FIND vs SEARCH elegido según tus
necesidades de distinción de mayúsculas. Tú nombras la referencia; él hace las cuentas de la
posición.
Preguntas frecuentes
¿Cuál es la diferencia entre FIND y SEARCH en Excel?
Dos diferencias. FIND distingue mayúsculas de minúsculas y trata */? como caracteres
literales; SEARCH no las distingue y admite esos comodines. Usa FIND para coincidencias
exactas y conscientes de las mayúsculas, y SEARCH para las indulgentes.
¿Por qué FIND devuelve #VALUE!?
Porque la subcadena que buscas no está en el texto. FIND y SEARCH devuelven #VALUE!
cuando no hay coincidencia, en lugar de 0 o vacío. Envuelve la fórmula en IFERROR(...) o
compruébala primero con ISNUMBER(SEARCH(...)).
¿Cómo compruebo si una celda contiene un texto concreto?
Usa =ISNUMBER(SEARCH("palabra", A2)), que devuelve VERDADERO o FALSO e ignora las
mayúsculas. Para una comprobación que las distinga, cambia SEARCH por FIND. Esto nunca da
error, a diferencia de usar la posición directamente.
¿Cómo encuentro la segunda aparición de un carácter?
Pasa el 3.er argumento opcional (núm_inicial) para empezar a buscar después de la primera
coincidencia: =FIND("-", A2, FIND("-", A2) + 1) devuelve la posición del segundo guion. Más
allá de la segunda aparición, plantéate TEXTSPLIT por legibilidad.
¿FIND o SEARCH admiten comodines?
Solo SEARCH. SEARCH("a?c", A2) coincide con una "a", cualquier carácter individual y luego
una "c". FIND trata ? y * como caracteres literales a buscar.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación 2026-06-29.
Guías relacionadas: Excel LEFT, RIGHT y MID · Excel SUBSTITUTE y REPLACE · Excel TEXTSPLIT · Excel IFERROR
