EXCEL: BUSCAR PARTE DE UNA PALABRA O FRASE EN UNA CELDA

En muchas de mis hojas de Excel uso la función de buscar. Esta es una función buenísima, pero en este caso se me quedaba corta, esto es porque BUSCARV tiene que encontrar una palabra exacta, ( se que en el criterio de búsqueda podemos poner coincidencia parcial, pero no funciona como quiero)

En este caso, de una lista de muchos valores, necesito encontrar los articulos que contienen la palabra puerta rejilla en su descripción, y si contienen esa palabra, devolver un valor.


He probado con macros, y otras funciones de las que ahora no me acuerdo como se llaman, pero no me funcionaban, no las entendia o bien me ralentizaban el oredenador.

Con la combinación de las funciones ESNUMERO y HALLAR es como lo he hecho, no me ha ralentizado el ordenador

=SI (ESNUMERO (HALLAR ("VALOR_BUSCADO";CASILLA EN LA QUE BUSCAR));VALOR SI VERDADERO; VALOR SI FALSO)

 ejemplo:
Si la casilla F9 contiene la palabra puerta rejilla, me sumas estas casillas, si no el valor es 0
=SI(ESNUMERO(HALLAR("puerta rejilla";F9));(CB9+CG9+CL9+CQ9+CV9+DA9); 0)


Mar tarde, me pidieron que si el texto empezaba por fa-, o rba-, o contenía la palabra bajo. el valor que tenía que dar es 1.

Como no le puedo indicar en la misma formula que me busque 3 posibles palabras, (o yo no se), la solución es meter una nueba busqueda dentro del "VALOR SI FALSO" de la primera sentencia.

=SI(ESNUMERO(HALLAR(" 1ºVALOR_BUSCADO";CASILLA EN LA QUE BUSCAR));VALOR SI VERDADERO; (SI(ESNUMERO(HALLAR("2ºVALOR_BUSCADO";CASILLA EN LA QUE BUSCAR));VALOR SI VERDADERO; (SI(ESNUMERO(HALLAR("3ºVALOR_BUSCADO";CASILLA EN LA QUE BUSCAR));VALOR SI VERDADERO; 0))))) 

Ejemplo:
 si la casilla F9 contiene FA-, me das 1, si no busca que la casilla F9 contenga rba-, si contiene me das 1 y si no busca que contenga bajo, si contiene me das 1 y si no 0, (ahora hay que cerrar un montón de paréntesis)


=SI(ESNUMERO(HALLAR("fa-";F9));1; (SI(ESNUMERO(HALLAR("rba-";F9));1; (SI(ESNUMERO(HALLAR("bajo";F9));1; 0) )) ))




He usado esta ultima formula ( la que busca 3 resultados) en un excel con 6000 lineas.

Cada linea tenia repetida esta formula unas 5 o 6 veces, para buscar diferentes cosas, asi que he podido usarla unas 108.000 veces y no he notado que se ralentice la hoja. ( bueno, si, un poco si, pero nada, decimas...)

Comentarios

  1. Muchísimas gracias, ha sido de una inmensa ayuda, estaba intentando algo igual y ya no se me ocurría nada. Mil gracias.

    :) :) :)

    ResponderEliminar
  2. Excelente solución, funciona correctamente para buscar cualquier tipo de caracter dentro de una celda lo cual es justo lo que necesitaba resolver. Gracias por el aporte!

    ResponderEliminar
  3. Gracias tu formula funciona perfectamente bien

    ResponderEliminar
  4. Saludos. ¿Crees que podría aplicarse esta idea a una búsqueda que no fuera en una sola celda pero sí en un rango de celdas concreto (una columna entera, por ejemplo)?
    Tengo una columna con unas cadenas de texto que necesito buscar en otra columna que las puede contener, pero no solas, sino incluidas dentro de otras cadenas de texto más largas y mi problema es que con las funciones "HALLAR" o "ENCONTRAR" solo puedo hacer esta búsqueda celda a celda.
    Muchas gracias

    ResponderEliminar
  5. Buenos días, quiero buscar el valor de una celda en cualquier parte de una columna (esa columna no tiene por qué tener el valor exacto).
    Por ejemplo, en la celda A2 tengo el valor 23000 y ese 23000 se encuentra en la columna B celda B4 que pone "soy el 23000"
    He usado esta fórmula, pero no me funciona:
    =SI.ERROR(ENCONTRAR(A2;$B$2:$B$1775;1);"no")
    ¿Alguien me puede ayudar?

    ResponderEliminar

Publicar un comentario