Función en excel para encontrar contenido de una celda

Respuesta de
a
megazoi
Usuario
Hola Experto,

Estoy intentando crear una fórmula pero me estoy frustrando, a ver si puedes ayudarme.

Necesito una fórmula que busque una palabra en el contenido de la celda, si lo encuentra, que aplique a la celda activa un valor; si no, que haga otra búsqueda y así sucesivamente con SIs anidados hasta finalizar.

Por ejemplo si la celda B1 contiene la palabra "Madrid", que en la celda a1 ponga un 1; si no, si la celda B1 contiene la palabra "Valencia", que ponga un 2; si no, si la celda b1 contiene la palabra "Barcelona", que ponga un 3; si no, que ponga un 0).

Muchas gracias por tu ayuda!
Avatar
Experto
Hola eso es imposible, la celda activa es la misma donde se está ejecutando la fórmula no puedes cambiar el valor de una celda con una fórmula que esta en la misma celda, eso es una referencia circular y es ilógico, además de imposible.
La única forma es hacerlo es con dos fórmulas para que te encuentre si la palabra Madrid esta en la celda A1 en la celda B1 pones esta fórmula:
=SI(ESNUMERO(ENCONTRAR("Madrid";A1));"VEREDADERO";"FALSO")
Y ahora en otra celda la que quieras cambiar pues pones otra fórmula que compruebe tu condición por ejemplo:
=SI(Y(B1="VERDADERO");"CORRECTO";"INCORRECTO")

>Un saludo
>Julio
Usuario
Muchas gracias Paramisolo. Finalmente un compañero me dio la solución.
Siento decirte que sí es posible. ¿Cómo?
Creando una tabla auxiliar de correspondencias con los posibles contenidos de la celda, y el valor que queremos asignarle a la tabla dependiendo del contenido.

Ofertas vuelos madrid roma 1
Vuelos madrid fiumicino 2
Vuelos baratos madrid fiumicino 2
Ofertas vuelos madrid fiumicino 2
Después se hace un =+buscarv(a1;hoja1!$B$1:$C$154;2;FALSO)
Y listo!

Gracias de todos modos por tu ayuda.