Está en la página 1de 11

La fórmula ENCONTRAR de Excel en la práctica

Hay muchos usuarios que al principio no le ven la utilidad a esta función. Puede parecer que
la localización de la posición de un término dentro de un texto tiene una utilidad limitada. Esta
función desarrolla su utilidad real en combinación con otras funciones.

ENCONTRAR y ENCONTRAR: anidamientos


Pensemos primero cómo es posible determinar no la primera, sino la segunda, tercera o
enésima aparición del término de búsqueda.

no de búsqueda.

=ENCONTRAR
(texto_buscado;dentro_del_texto;ENCONTRAR(texto_buscado;dentro_del_texto)+1)
En este punto también queda claro para qué se puede usar el tercer parámetro opcional. En
esta fórmula volvemos a introducir la fórmula que indica la posición de la primera aparición en
la posición núm_inicial. Este valor más uno indica el punto en el que se desea que la función
superordinada comience su búsqueda. Si también deseas determinar una tercera
posición, debes realizar otro anidamiento y así las veces que quieras.

ENCONTRAR y ESNUMERO: afirmaciones de veracidad


Con la función ENCONTRAR, Excel ofrece la posibilidad de convertir el indicador de
posición en una afirmación de veracidad: ¿está incluido el término de búsqueda en el texto
o no?

=ESNUMERO(ENCONTRAR("peluche";B2))
La función ESNUMERO aporta el valor VERDADERO si el resultado de ENCONTRAR es un
número; en caso contrario, el resultado es FALSO. Como ENCONTRAR indica la posición
del término con un número entero, la función ESNUMERO puede responder. Si el término
de búsqueda no aparece en el texto, ENCONTRAR emite un mensaje de error, que
obviamente no es un número, por lo que ESNUMERO reacciona con FALSO.

También puede ser que estés interesado en averiguar dónde aparecen términos de búsqueda.
Esto funciona si has almacenado tus datos en varias celdas, p. ej., en una lista de ventas. La
fórmula se puede introducir en el denominado formato condicional como cualquier otra
fórmula. Así, puedes marcar, por ejemplo, todas las transacciones que tienen relación con
peluches.
ENCONTRAR y MID: extracción de caracteres
Las descripciones de artículos pueden ser muy largas y confusas, por lo que igual te interesa
extraer partes determinadas de la secuencia de caracteres. Excel cuenta con tres funciones
para este propósito: IZQUIERDA, DERECHA y MID. Estás fórmulas ya son muy interesantes
por sí solas, pero en combinación con ENCONTRAR desarrollan todo su potencial. Partimos
de la base de que tus denominaciones siempre siguen un patrón determinado, que se
compone de letras, números y guiones: ABCDE-A-12345-T.

Imaginemos que deseas extraer la parte numérica en el medio, pero, como la secuencia de
caracteres no cuenta con una longitud determinada, las funciones normales para extraer no
te serán muy útiles. Estas funciones parten de un número determinado de caracteres, un dato
que, en este caso, no puedes aportar. Sin embrago, gracias a los guiones, la función
ENCONTRAR puede ser útil, ya que esta función te aportará la indicación de posición que
necesitas.

Como en la secuencia de caracteres aparecen varios guiones, debes realizar un


anidamiento de la función ENCONTRAR. En este ejemplo, suponemos que la parte
numérica siempre abarca cinco caracteres.

=MID (A2;ENCONTRAR("-"; A2;ENCONTRAR("-"; A2;ENCONTRAR("-";A2)+1))+1;5)

es.

=MID (A2;ENCONTRAR("-"; A2;ENCONTRAR("-"; A2;ENCONTRAR("-";A2)+1))+1;5)


Si la longitud tampoco está determinada, puedes echar mano de otro anidamiento de la
función ENCONTRAR. Como la secuencia de caracteres deseada termina con un guion,
puedes buscar el guion y determinar así la longitud.

=MID(A2;ENCONTRAR("-";A2;ENCONTRAR("-";A2;ENCONTRAR("-";A2)+1))+1;
ENCONTRAR("-";A2;ENCONTRAR("-";A2;ENCONTRAR("-";A2)+1)+1)-
ENCONTRAR("-";A2;ENCONTRAR("-";A2;ENCONTRAR("-";A2)-1))-3)
Bien es cierto que esta fórmula es un poco caótica y confusa, pero consigue el objetivo. Da
igual cuántos caracteres introduzcas entre los dos guiones, Excel usará la función
ENCONTRAR para extraer siempre los caracteres correctos.

os.
Anidamiento complicado pero efectivo: así puedes extraer justamente la parte que quieres.

ENCONTRAR y SI: si-entonces-si no


La función ENCONTRAR también se puede combinar muy fácilmente con la función SI.
¿Deseas realizar una acción determinada cuando aparece una secuencia concreta de
caracteres en la celda? La combinación de SI y ENCONTRAR te permite justamente esto: si
aparece la secuencia de caracteres, se realiza esto, si no, lo otro. El único problema es que
ENCONTRAR indicará un error si la secuencia de caracteres no aparece. Por eso, también
debes emplear la función ESERROR.

=SI(ESERROR(ENCONTRAR("oso";A2));"No";"Sí")
Si la función ENCONTRAR no detecta el término de búsqueda (en este ejemplo, “oso”),
indicará un mensaje de error. Por lo tanto, se cumple la condición de ESERROR y SI
proporciona la primera opción: “No”, es decir, el término no aparece. En cambio, si la función
ENCONTRAR es capaz de determinar el texto de búsqueda, indicará un número, por lo que
no se cumple la condición de ESERROR. Por lo tanto, se obtiene la otra opción: “Sí”, es decir,
el término sí que aparece.

e.
Excel tiene una serie de funciones que realizan la misma tarea,
como las funciones Hallar o Encontrar en Excel. Pero, la duda de
muchos usuarios, es en relación a cuál, es mejor utilizar para una
situación determinada.

Por tanto, es bueno que entendamos que no existe una función


mejor o peor, sino la que mejor se adapta a la situación u otra
función.

Pues ambas funciones consisnten en localizar un determinado


caracter en una celda. Pero en ambos, ¿qué usaré?
Batalla de Funciones  : Diferencia Entre Las
Funciones Hallar y Encontrar en Excel
La gran diferencia entre estas funciones es que la función de
Encontrar distingue entre mayúsculas y minúsculas, es decir,
diferencia letras mayúsculas y minúsculas de forma diferente a la
función HAllar. Entonces, veamos esto en un ejemplo práctico:

Sin embargo, luego buscaremos la posición del carácter “S”


usando ambas funciones.

Bueno, primero lo haremos usando la Función Hallar:

Luego presione Enter y observe que obtuvimos el resultado 3:

Reciba Contenido de Excel


Registre su E-mail aquí en el blog para recibir de primera mano todas las novedades, post y
video aulas que posteamos.

¡Su correo electrónico está completamente SEGURO con nosotros!


QUIERO RECIBIR!
 

Es muy importante que me agregues a la lista de tus contactos


para que los siguientes E-mails no caigan en el spam, Agregue
este:    E-mail:  edson@ninjadelexcel.com

Bueno, ahora usando la Función de ENCONTRAR

Observe que cuando presionamos Enter obtenemos el resultado 6:

Esto ocurrió, como dijimos anteriormente, porque la


función ENCONTRAR distingue entre mayúsculas y minúsculas de
la función HALLAR. Por lo tanto, la función de hallar en el
momento en que encontró el carácter regresó a la posición, que
puede ser mayúscula o minúscula.

Para alcanzar el mismo objetivo utilizando la


función HALLAR tendríamos que hacerlo de esta manera:
La función COINCIDIR busca un elemento determinado en un intervalo de celdas y
después devuelve la posición relativa de dicho elemento en el rango. Por ejemplo, si el
rango A1:A3 contiene los valores 5, 25 y 38, la fórmula =COINCIDIR(25,A1:A3,0) devuelve
el número 2, porque 25 es el segundo elemento del rango.

Sugerencia: Use COINCIDIR en lugar de las funciones BUSCAR para conocer la posición de un


elemento en un rango en lugar del elemento en sí. Por ejemplo, puede usar la
función COINCIDIR para proporcionar un valor para el argumento fila de la función INDICE.

Función ESTEXTO y ESNUMERO en Excel.

En relación al post donde mostré una manera de ENCONTRAR y reemplazar ciertos caracteres,
continuamos hoy dando una vuelta de tuerca al asunto, ya que pretendemos encontrar el último
caracter tipo "alpha" no numérico desde la derecha antes del guión en el caso que exista:
...la letra puede ser cualquiera del abecedario y pueden ser hasta 4:
por ejemplo
20T-29
33AXH-300
250MBXH-300A
56LFV1
¿existe alguna manera de que busque el último caracter tipo "alpha" no numérico desde la derecha antes del guión en el caso que exista?...

Nos aseguramos que la estructura de los códigos es única y homogénea, es decir, que todos los
códigos como máximo pueden tener uno y sólo un caracter 'letra' por la derecha; además, de acuerdo
a lo explicado en el post anterior, el número de dígitos en la segunda parte del código es un máximo
de cuatro; esto es en total, la segunda parte del código tendrá un máximo de cinco caracteres. Para
mi planteamiento esta hipótesis es básica.

Vamos a emplear las funciones ESTEXTO(valor) y ESNUMERO(valor) para localizar el caracter


'texto' buscado. Las funciones ES, son funciones lógicas, por lo que devolverán VERDADERO o FALSO.
Para homogeneizar todos los códigos, le quitaremos el guión intermedio de éstos. Mediante la función
=SUSTITUIR(Código;"-";"")
Nuestra tabla de datos de partida es:
Una vez que tenemos nuestro 'Códigos' sin guiones, podemos empezar a buscar nuestro caracter
Texto. Sabiendo que la posición máxima en la que puede estar situado este caracter es la sexta por la
derecha (un posible primer caracter texto por la derecha, y luego un máximo de cuatro numéricos)
construiré una tabla auxiliar con esas posiciones en columnas, invirtiendo su posición de izquierda a
derecha uno a uno:

haz click en la imagen

Lo que hacemos en esta tabla auxiliar de seis columnas es identificar caracter a caracter de cada
'Código' empezando por la derecha:

=SI(ESNUMERO((EXTRAE($B2;LARGO($B2);1)*1));
(EXTRAE($B2;LARGO($B2);1)*1);EXTRAE($B2;LARGO($B2);1))

analizamos paso a paso la fórmula para el primer valor por la derecha:

 con la función EXTRAE(texto; posición de inicio; número caracteres a extraer):


EXTRAE($B2;LARGO($B2);1) consigo discriminar o extraer del 'Código' un caracter,
empezando a contar en este caso por el último del 'Código'

 al multiplicarlo por uno, si el caracter es numérico se transforma en número

 al aplicarle la función ESNUMERO y usar la respuesta como prueba lógica de la función SI


condicional, obtendré dos posibles respuestas
1. si la respuesta es VERDADERO, esto es, si el caracter extraido es un número,
entonces la función SI nos mostrará el número en formato número

2. si la respuesta es FALSO, esto es, si el caracter extraido NO es un número, entonces


la función SI nos mostrará el caracter en formato texto

Repetiremos esta fórmula para cada una de las columnas de nuestra tabla auxiliar, pero con una
mínima modficación, ya que para la función EXTRAE le cambiaremos la posición de inicio.
Para la segunda columna, es decir, el segundo caracter por la derecha del 'Codigo' tendremos la
fórmula:
=SI(ESNUMERO((EXTRAE($B2;LARGO($B2)-1;1)*1));(EXTRAE($B2;LARGO($B2)-
1;1)*1);EXTRAE($B2;LARGO($B2)-1;1))
vemos que la posición de incio viene dada por la función LARGO('Código')-1;
para la tercera columna será LARGO('Código')-2 y así sucesivamente.

Observad cómo el primer 'Código', en su columna sexta da un error; lógico, puesto que este 'Código'
sólo tiene cinco caracteres (después de quitarle el guión!!).

Comenzamos con la segunda parte de la tarea. Ya tenemos en nuestra primera tabla auxiliar los
caracteres alfanuméricos colocados de izquierda a derecha de la segunda parte de nuestros 'Códigos'.
Como sabemos que existe la posibilidad que el primer caracter por la derecha, es decir, la primera
columna de nuestra tabla auxiliar, sea tipo 'Texto', para la construcción de nuesta segunda tabla
auxiliar (es la última, no desespereis!) vamos a obviarla.
Construimos de una manera muy sencilla esta segunda tabla, aplicando la función ESTEXTO sobre las
celdas de la primera:

Y llegamos al final, descubrir en una celda, para cada 'Código' cuál es el caracter 'Texto' buscado. Para
ello aplicamos un SI condicional sobre los valores de nuestra segunda tabla:
Con la función
=SI(E8;E2;SI(F8;F2;SI(G8;G2;SI(H8;H2;SI(I8;I2;"SIN LETRA")))))
lo que hacemos es encontrar el primer valor VERDADERO de la segunda tabla auxiliar, es decir, el
primer valor tipo 'Texto' y mostrarlo; lo buscamos columna a columna de izquierda a derecha en
nuestras tablas auxiliares; acabando el condicional con un 'Sin letra' para aquellos casos que no
encuentre un tipo 'Texto'.
Y eso es todo, tenemos para cada 'Código' el último caracter tipo "alpha" no numérico desde la
derecha antes del guión en el caso que exista.

También podría gustarte