La Fórmula ENCONTRAR de Excel en La Práctica
La Fórmula ENCONTRAR de Excel en La Práctica
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.
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.
=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.
es.
=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.
=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.
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.
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))
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.