Coincidir palabra especifica de una cadena de texto una palabra de una lista

Necesito realizar una búsqueda inteligente en excel, ésta trata de extraer una palabra (marca de un producto) que se encuentra contenida en una cadena de texto, pero siendo buscada en una lista donde se encuentran distintas marcas de productos.

Quedo atento a cualquier comentario y nuevamente agradezco la ayuda

Respuesta
1

No entiendo bien tu pregunta...

Acaso quieres... buscar dentro del texto de UNA CELDA... cual marca figura... si es que tienes en UN RANGO, ¿una lista de todas las MARCAS posibles?

Si es asi... ya he armado fórmulas matriciales que se encargaron de hacer eso... especifica los rangos exactos (celda, lista)...

¿Si no es esa tu pregunta podrías poner algún ejemplo visual o compartir un archivo para entender exactamente que necesitas?

Hola Jaime Gracias por responder!

Te cuento.. tengo una hoja en excel donde en una columna tengo cadenas de texto entre 10 a 20 palabras generalmente y dentro de ese texto está una marca de un producto en particular, que necesito extraer de forma automatizada. te doy un ejemplo... En la columna D tengo la cadena de texto y en la columna C tengo la lista de marcas orientadas de esta forma:

Lo que necesito es que a partir de las marcas que tengo en la columna C, se identifique automáticamente la marca del producto contenida en la cadena de texto de la columna D.

Quedo atento, muchas gracias 

Saludos.

Creo entender de tus afirmaciones que en la columna B y C... ¿aparezcan los artículos y marcas que tienen que ser "leídos" (de manera inteligente) de la columna D?

Si es asi... perfecto...

Necesitas sin embargo crear un "glosario" o "diccionario" de marcas y otro de categorías... para que con una fórmula matricial, Excel sepa que buscar... el programa tiene que tener en una lista (en otra hoja) escritos: Adidas, Nike, Salomón, Puma, Tecnoclass, Workout, etc... para que pueda realizar la búsqueda de todas en la celda y extraer hacia las columnas que indicas cuales son las que encontró.

Supongamos que las tienes en otra tabla llamada MARCAS y con una única columna llamada Lista (veo que estas familiarizado con la notación de Tabla de Excel)...

En C14917 escribe:

=INDICE(MARCAS[Lista],COINCIDIR(VERDADERO,ESNUMERO(HALLAR(MARCAS[Lista],[@Producto])),0))

e introducela con Ctrl + Shift+ Enter

Listo

¡Gracias Jaime!, lo hice tal cual me indicaste, cree una tabla nueva llamada MARCAS, con una única columna y todo pero al momento de aplicar la fórmula no me arroja ninguna marca de vuelta (#N/A).

Quedo atento a tu respuesta

En esa nueva tabla... el titulo de la columna debe ser "Lista"

¿Es así?

Y la fórmula debe ser ingresada como fórmula matricial... no con Enter sino con

Ctrl + Shift + Enter

¿Es todo así?

Gracias, estabas en lo correcto, no lo puse en forma matricial.

Consulta.. siempre extraerá la primera coincidencia que se de en la lista ?, digo esto porque en algunas celdas reconoce una marca en una palabra que no corresponde (Ej; La marca Do en la palabra Torpedo), siendo la correcta Torpedo.

De todas maneras funciona y te agradezco por ello. 

Si... siempre la primera... coincidir es así...

Prueba con

=INDICE(MARCAS[Lista],

COINCIDIR(VERDADERO,ESNUMERO(HALLAR(" "&MARCAS[Lista]&" "," "&[@Producto]&" ")),0))

Agregando un espacio al principio y final de la marca para buscar...

Así eliminas las marcas que podrían estar incluidas en otras palabras...

¡Gracias de Verdad! 

Tienes grandes conocimientos y gracias por compartirlos.

¿Habrá alguna forma de elegir entre las primeras 4 o 5 palabras de cada cadena de texto?, que es ahí donde se encuentran las marcas.

Saludos.

Se puede... pero yo creo que complicarías mucho la fórmula... ç

La manera más fácil es cambiando el 5to espacio por otra letra y luego extrayendo todo lo que está antes de eso... y, sobre esto aplicas la fórmula anterior

(Estoy asumiendo que en tu texto no existe ningún "¿" que podría confundir a la fórmula)

SUSTITUIR(@Producto]," ","¿", 5) esto cambia el 5to espacio por ¿

IZQUIERDA(@Producto], HALLAR("¿", SUSTITUIR(@Producto]" ","¿", 5))

Luego reemplazas esto en la fórmula en lugar de [@Producto]&" " :

=INDICE(MARCAS[Lista],

     COINCIDIR(  VERDADERO,

ESNUMERO(HALLAR(" "&MARCAS[Lista]&" "," "&IZQUIERDA(@Producto], HALLAR("¿", SUSTITUIR(@Producto]" ","¿",5)))),

0)      )

1 respuesta más de otro experto

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas