Validar la existencia de determinado texto en una celda

La consulta a tratar en esta ocasión es la siguiente: Quiero una fórmula que me devuelva 1 si una celda contiene el texto "mitexto" y que me devuelva 0 si no lo contiene. ¿Cómo?

Desconozco la utilidad que este usaurio daría a la fórmula. Si pensabas usar estos unos y ceros para hacer un filtro, podías activar el Autofiltro (Filtro - Autofiltro), después seleccionar Personalizar... y de la lista desplegable la opción Contiene (o bien Empieza con o Termina con) y escribir "mitexto". En los tiempos que corren ya casi no es necesario el uso de columnas de unos y ceros.

De cualquier modo, aquí va la respuesta:

Hay tres posibilidades: determinar si una celda comienza con "mitexto", termina con "mitexto" o si contiene "mitexto" en cualquier ubicación.

Para el primer caso nos auxiliamos de la función IZQUIERDA:

=IZQUIERDA(A1, 7), la cual nos da las 7 primeras letras del extremo izquierdo del primer argumento (A1).

Ahora la anidamos en la función SI, y pedimos a Excel que devuelva 1 si el resultado de la anterior fórmula es "mitexto", 0 en cualquier otro caso:

=SI(IZQUIERDA(A1,7)="mitexto",1,0)

En el segundo caso, utilizamos la función DERECHA y procedemos de la misma forma:

=SI(DERECHA(A1,7)="mitexto",1,0)

Para el tercer caso, podemos auxiliarnos de la función HALLAR, o bien, de la función ENCONTRAR. Ambas devuelven la posición inicial en la que se encuentra el texto buscado, dentro de un texto especificado, con la diferencia de que ENCONTRAR es sensible a mayúsculas y minúsculas. Utilizan tres argumentos: texto_buscado ("mitexto"), dentro_del_texto (A1) y núm_inicial (1). Núm_inicial se refiere a la posición de dentro_del_texto a partir de la cual queremos que empiece la búsqueda, contando de izquierda a derecha; si lo omitimos, Excel supondrá que es 1:

Suponiendo que en la celda A1 hemos escrito "abc mitexto", la siguiente fórmula nos devuelve 5:

=HALLAR("mitexto", A1, 1)

El problema con HALLAR es que si la celda analizada no contiene el texto buscado, en lugar de devolvernos 0, nos devuelve el valor de error #¡VALOR!

Utilizamos entonces la función ESERR. Esta función devuelve VERDADERO si el resultado de una fórmula es un error del tipo #¡VALOR!, #¡REF!, #¡DIV/0!, #¡NUM!, #¿NOMBRE? o #¡NULO! (o sea todos excepto los errores #¡N/A. En cambio, ESERROR sí toma en cuenta los errores #N/A). Si el resultado de una fórmula no es un valor de error, devuelve FALSO.

Está fórmula devuelve FALSO si "mitexto" se encuentra en A1. Devuelve VERDADERO si la celda no contiene "mitexto":

=ESERR(HALLAR("mitexto", A1, 1))

Ahora la anidamos en una función SI para indicar a Excel que devuelva el 1 o el 0 buscados:

=SI(ESERR(HALLAR("mitexto", A1, 1)), 0, 1)

En los tres casos, podemos elaborar fórmulas más cortas:

=--IZQUIERDA(A1,7)="mitexto"

=--DERECHA(A1,7)="mitexto"

=--NO(ESERR(HALLAR("mitexto",A1)))

En futuras entradas veremos cómo funcionan estas últimas fórmulas, y debatiremos la conveniencia de usar fórmulas reducidas o extensas.

0 comentarios:

Publicar un comentario