Fórmula para asignar un valor dependiendo de una palabra contenida en una frase

a) Amigo (a): necesito una fórmula que me permita lo siguiente:
En A1 he escrito la frase: Boletín de Prensa Semanal para Publicación
En A2 he escrito la frase: Modelos de Cotización presentadas
En A3 he escrito la frase: Relación de Pedidos archivados
Necesito una fórmula para B1, de modo que si A1 no contiene nada, me deje la celda en blanco; pero que si en la frase escrita en A1 se encuentra la palabra “Boletín”, me coloque 600; si en la misma frase de A1 se encuentra la palabra Cotización, me coloque 1.000; y si en esa misma frase de A1 encuentra la palabra “Pedidos”, me coloque 1.500 ¿Será Posible? Le agradezco me por favor, me colabore con una fórmula, más no con una macro.

5 respuestas

Respuesta
4

Te mando una solución, no está completa, porque al paracer la función de excel tiene un error, pero espero que te sirva, por favor, introduce en la columna B la siguiente fórmula:

=SI(HALLAR("Boletín",A2,1)>0,600,"X")

En la columna C tienes que poner la siguiente formula

=SI(HALLAR("Cotización",A3)>0,1000,"X")

Y en la columna D tienes que poner la fórmula

=SI(HALLAR("Pedidos",A4)>0,1500,"X")

El problema de la función (HALLAR), es que si no encuentra el valor buscado, regresa el dato "#¡VALOR!" y ya no te permite seguir trabajando con la fórmula, es decir, en la fórmula que te estoy enviando, si no encuentra "Boletín", debería regresar una "X", pero regresa "#¡VALOR!, es por eso que tienes que poner la misma fórmula en las columnas C y D. Después podrías aplicar el autofiltro para que te muestre los valores diferentes a "#¡VALOR!" Y de esta forma ya tendrías los 600, 1000 y 1500.

Sigo investigando y si encuentro algo mejor te lo envío.

Apreciado Experto: Gracias por tu amable respuesta, pero no es lo que necesito... busco una sola fórmula para aplicarla a una sola celda sin tener que extenderme a otras columnas... te agradecería si puedes, me colaboraras en forma más precisa... de nuevo muchas gracias...

Prueba con la siguiente fórmula, para ver si funciona en la versión de excel que tienes:

=SI(HALLAR("Boletín", A1)>0,600, SI(HALLAR("Cotización", A1)>0,1000, SI(HALLAR("Pedidos", A1)>0,1500,"X")))

Hola, apreciado experto: qué pena volver a molestar... la fórmula indicada sólo me ha funcionado cuando aparece dentro de la celda la palabra BOLETÍN, pero no para las otras condiciones... te agradecería más bien, que luego de probarla de nuevo, me la enviaras a mi correo: [email protected] MUCHAS GRACIAS DE NUEVO POR TU TIEMPO...

No es ninguna molestia, al contrario que pena que no te haya funcionado. Por favor, escribe la siguiente fórmula:

=SI(ESERROR(HALLAR("Boletín", A5)), SI(ESERROR(HALLAR("Cotización", A5)), SI(ESERROR(HALLAR("Pedidos", A5)),"no hay ninguna de las palabras", 1500), 1000), 600)

Nota: el texto "no hay ninguna de las palabras", lo puedes reemplazar por un blanco, para que no te aparezca nada, ejemplo:

=SI(ESERROR(HALLAR("Boletín", A5)), SI(ESERROR(HALLAR("Cotización", A5)), SI(ESERROR(HALLAR("Pedidos", A5)),"", 1500), 1000), 600)

Saludos y sigo a tus órdenes para cualquier duda o comentario.

Dam

APRECIADO EXPERTO: MUCHAS GRACIAS POR TU PACIENCIA Y TU TIEMPO, LUEGO DE TUS RETOQUES Y ACLARACIONES, LA FÓRMULA ES PERFECTA... GRACIAS POR COLABORARME PARA MEJORAR MIS CONDICIONES DE TRABAJO... UN ABRAZO A LA DISTANCIA Y MIS AGRADECIMIENTOS... MUY AMABLE...

Respuesta
2

La fórmula sería :

=SI(ESERROR(ENCONTRAR("Boletín";A1));"";600)

La formula funciona con un IF THEN ELSE

Si(Condición; entonces; sino)

En este caso la condición será verdadera o falsa según el valor que devuelva la formula ENCONTRAR; encontrar busca un texto dentro de otro texto, si lo encuentra, devolverá el número de la posición de la primera letra del texto que buscabas, si no lo encuentra devolverá un ERROR (#VALOR).

Por eso utilizamos la formula ESERROR, que para el caso es una pregunta, que nos devolverá VERDADERO si el resultado es un ERROR y devolverá FALSO si el resultado es un valor cualquiera diferente a un error.

Espero haberte podido ayudar.

Para que practiques, aplica la misma formula a las dos celdas siguientes cambiando el valor que buscas y el resultado en caso lo encuentre. Si no pudieras hacerlo, me cuentas y las describo para ti.

Ojo que "Boletín" esta escrito como nombre propio y con tilde, si en el texto aparece BOLETIN, dará error, por tanto podríamos mejorar la fórmula así:

=SI(ESERROR(ENCONTRAR("BOLETIN";MAYUSC(A1)));"";600)

Respuesta
1

Puede ser algo así:

= SI.ERROR(

SI(LARGO(A1<3;"";

SI(HALLAR("Boletín";A1)>0;600;

SI(HALLAR("Cotización";A1)>0;1000;

SI(HALLAR("Pedidos";A1)>0;1500

))));

"")

Esa fórmula está mal, estoy haciendo pruebas para corregirla

... te aviso luego

Esta está mejor

=
SI( largo(A1)<3;"";
SI.error ( SI( HALLAR ("Boletín";A1)>=0;600;"");
SI.error ( SI( HALLAR ("Cotización";A1)>=0;1000; "");
SI.error ( SI( HALLAR ("Pedidos";A1)>=0;1500;"");"")
)))

Apreciado Experto: Agradezco tu amable aporte, pero te comento que no logro concretar la fórmula, pues la he aplicado al pie de la letra como me comentaste y no logro obtener resultado alguno. tan sólo, al aplicarla, aparece #¿NOMBRE? y por más que con paciencia he trabajado al respecto, no logro obtener el resultado pretendido.

Agradecería por favor, me colaboraras un poco más al respecto.. muchas gracias de nuevo.

#¿NOMBRE?

Aparece cuando hay alguna palabra que excel no entiende

Aquí las posibilidades son las palabras entre comillas quizas no le pusiste comillas

O que tu excel no tenga alguna de esas funciones

¿Largo?, si. ¿Error? ¿Hallar?

¿Cuál version de excel estas usando? (En caso de que las comillas esten bies escritas)

Apreciado experto; CONTINÚO con el mismo inconveniente, más bien te agradecería por favor, me enviaras el archivo de ejemplo a mi correo: [email protected] RESPECTO A LA VERSIÓN DE EXCEL, es EXCEL 2010; he revisado detenidamente toda la fórmula y está bien escrita, pero no me explico porqué no me arroja resultados. GRACIAS POR TU PACIENCIA y espero tu correo... Muy amable.

Te envié un archivo con la prueba que hice

Respuesta
1

como anda, claro que se puede realizar esto, le paso la formula para que pruebe, bueno dependiendo de lo que diga esa celda le pones en la otra celda B1 esta formula; =SI($A1="Boletín";600;SI($A1="Cotización";1000;SI($A1="Pedidos";1500;"")))

Cualquier cosa a las ordenes...


Saludos: Pablo

Apreciado Experto: Gracias por tu tiempo, pero la fórmula indicada NO FUNCIONA CON FRASES COMPUESTAS, que es lo que yo necesito; es decir, si en A1 se encuentra la palabra boletín, al inicio, al final ó entre palabras, simplemente con encontrarla, necesito que el valor de B1 sea 600, tu fórmula es correcta, pero sólo sirve cuando se digita una sola palabra... espero me pudieras colaborar en forma más precisa... gracias de nuevo

Como anda, lo que hay que hacer entonces es una base de datos con todas las posibilidades, y si en todas las posibilidades aparece la palabra calve indique con otra formula un valor binario, 1 o 0, para separar la palabra de la frace. Y tomarla para que la formula la utilize, si me puede enviar unos ejemplos de estas fraces de las mas utilizadas, o el archivo exel ya con los formatos y como y donde quiere que aparezacan estos datos... se puede realizar pero hay que trabajar un poco..

saludos; Pablo

Respuesta
-1

No se si te pueda servir lo siguiente: Cuando quieras cambiar los valores dale la opción buscar Ctrl + b y luego reemplazar y reemplaza boletín por 600

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas