3 votos

Excel--Dile si una cadena contiene un valor en una columna de tabla

De fondo

Estoy usando Excel 2013.

Tengo una tabla de Excel nombrado SiteCategories, con un número de columnas de Categoría y, a continuación, los sitios de las columnas, así:

enter image description here

Por lo que podríamos llegar a esos valores de uso =SiteCategories[Category1]

También tengo una lista de direcciones Url -- pensar en una Url completa como http://www.sitea.com/page/page.html

Lo que me gustaría hacer

Para que el gigante de la lista de direcciones Url, me gustaría tener columnas junto a ellos, diciendo: si están en la categoría a o categoría B, así:

enter image description here

Me gustaría que la coincidencia de mayúsculas y minúsculas, ya que las Url no están normalizados. Sin embargo, si se hace más fácil, puedo proceso de los campos o envuélvalos en lower() aunque me imagino que este proceso sería capaz de hacer eso también.

Donde estoy atascado

Que puedo hacer partidos y búsquedas en una sola pieza de texto, pero estoy teniendo problemas para hacerlo en un rango de texto.

Básicamente lo que quiero decir es que, si cualquier fragmento de texto en la columna de categoría se encuentra dentro de la URL (en mayúsculas y minúsculas de la moda), entonces la URL está en esa categoría.

Sin embargo, la mayoría de la MATCH y SEARCH funciones no parecen fácilmente de apoyo a la consulta de un rango de valores.

Parece que quieren hacer lo opuesto a esta pregunta , mientras que esta solución utiliza un comodín en un plazo de encontrar en varias celdas, quiero usar múltiples texto de celda como comodines en contra de una cadena y devuelva true si cualquiera de ellas son verdaderas.

Cómo lo estoy haciendo ahora

Actualmente, la fórmula que estoy usando es un OR declaración está usando un montón de SEARCH fórmulas, como el de abajo (donde F3 es la celda con la URL):

=OR(ISNUMBER(SEARCH("sitea.com",F3)), ISNUMBER(SEARCH("siteb.com",F3)),ISNUMBER(SEARCH("sitec.com",F3)), ISNUMBER(SEARCH("sited.com",F3)),ISNUMBER(SEARCH("sitee.com",F3))) 

Sin embargo, esto es un poco insostenible como los requisitos para qué sitios ir, en qué categorías cambiar con el tiempo. Me gustaría ser capaz de ponerlos en una tabla para que sean fácilmente editable, de ahí la pregunta.

1voto

gtwebb Puntos 1869

Puede utilizar una fórmula matricial con ctrl + shift + enter. La búsqueda no distingue mayúsculas de minúsculas por lo debe ser fina.

=OR(IFERROR(SEARCH(SiteCategories[Category1],A2),0))

Aquí está configurado para manejar las líneas en blanco en la tabla gracias a Kyle en los comentarios.

=OR(IFERROR(IF(SiteCategories[Category2]<>"",SEARCH(SiteCategories[Category2],A‌​2),0),0))

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: