Pregunta

Tengo una hoja (vamos con vinos como un ejemplo) que enumera cada botella de vino en la bodega, cuando lo compré, cuánto pagué, etc.

Hay una columna que describe el vino en las etiquetas separadas por comas, como "Afrutado, blanco".

He creado una tabla dinámica a partir de esos datos, con la descripción como una columna de filtro. Sin embargo no puedo filtrarla por "blanca". Tengo que encontrar todo tipo que contiene "Blanca", como "seco, blanco", "blanca y nítida", etc.

Siendo de un fondo RDBMS, mi inclinación natural es poner las etiquetas en su propia tabla de claves contra la fila de vino, así que hay filas-cero o más etiquetas por fila vino.

¿Cómo, cómo en la tierra que puedo utilizar para filtrar las filas del vino?

¿Fue útil?

Solución

Sí, puede hacerlo dentro de Excel y los campos de descripción puede permanecer como "seco, blanco", etc, ya que no es necesario dividir los valores separados por comas.

Deja la opinión que la fuente de la tabla comprende una columna de texto para la descripción, una columna de número para el valor y una columna de número de Año Comprado.

Su pivote está configurado con la siguiente

  • Los campos: Descripción, Valor y Año compraron.

  • etiquetas de columnas: Año Comprado

  • Etiquetas de fila: Descripción
  • Suma de valores: suma del valor

Hay un menú desplegable de filtro de etiqueta en las etiquetas de las filas - Haga clic en esto y no debería ser una opción para seleccionar Etiqueta de filtros. Seleccione esta opción y luego seleccione Contiene. Puede introducir decir "blanca" que seleccionará todas las descripciones que contienen, por ejemplo, blanco "Blanco y seco", "blanca, crujiente". El filtro incluye? para representar un único carácter y * para representar cualquier serie de caracteres.

Hay filtros de etiquetas similares para "comienza con" y "termina con", así como hay negación.

He intentado esto en Excel 2007 y también debería funcionar en 2003. Creo que en Excel 2003 incluso se podría combinar los filtros por ejemplo, contiene "blanca" y no contiene "en seco", pero en 2007 no pude encontrar una manera de hacer esto.

Otros consejos

Perdóname si estoy afirmando lo obvio, pero la razón por la que está teniendo problemas aquí es que la columna de la descripción no está en 1NF, y la interfaz dinámica de Excel no es lo suficientemente flexible como para permitir la búsqueda basado en patrones.

La opción más simple será para normalizar la CSV en una serie de columnas, cada una de las cuales representa un solo atributo - una columna para el color del vino, uno para la dulzura, una por país de origen y así sucesivamente - y aplicar el filtro a través varias columnas. Sin embargo, si (como su comentario sobre la cuestión indica), el vino es una metáfora de su verdadero problema, es probable que no tiene el lujo de volver a examinar el diseño de los datos de origen.

Otra posibilidad podría ser la de utilizar una macro (o una consulta de base de datos - No soy claro por su pregunta si se ha implementado el sistema de etiquetas ya) para pre-filtrar los datos de entrada en la hoja de la fuente de la tabla dinámica en función de la etiqueta de valores que desea buscar, a continuación, volver a actualizar la tabla dinámica en base a esos datos.

Una tercera posibilidad es la de VBA utiliza en esta pregunta , lo que parece que va a filtrar a medida filas visibles de la tabla dinámica.

= IF (ISERR (FIND ( "blancos", SUPERIOR (B5))), 0,1)

crear una columna adicional y añadir una fórmula. Hay 2 trucos para esto. Una de ellas es buscar BLANCO en la columna de la descripción usando superior - batir el hecho de que sobresalir hallazgo es sensible a mayúsculas. Dos es que devuelve un valor de error si la cadena no existe - por lo ISERR le permitirá trampa en la que y regresar en este ejemplo 0 si no lo hace, o 1 si lo hace. Se podría sustituir blanco y blanco para 1 y 0.

se podría escribir un script que recorra los datos y añade nuevas líneas para cada elemento separado por comas en la columna de la descripción. Esto permitiría a la tabla dinámica para filtrar mejor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top