Domanda

Ho un foglio (andiamo con i vini come esempio), che elenca ogni bottiglia di vino in cantina, quando l'ho comprato, quanto ho pagato etc.

C'è una colonna che descrive il vino in tag separati da virgola, come "Fruttato, bianco".

Ho creato una tabella pivot da tali dati, con la descrizione come colonna filtro. Tuttavia non riesco a filtrare dal "Bianco". Devo trovare ogni genere che contiene "bianco", come "Secco, Bianco", "bianco, croccante", ecc.

Essendo da un background RDBMS, la mia inclinazione naturale è quello di mettere i tag nella propria tabella di digitato contro la fila vino così non c'è righe zero o più tag per riga vino.

Come, come diavolo posso usare che per filtrare le righe del vino?

È stato utile?

Soluzione

Sì, è possibile farlo all'interno di Excel e dei campi di descrizione può rimanere come "Dry, White" ecc come non è necessario dividere i valori separati da virgola.

Diciamo la fonte tabella comprende una colonna di testo per la descrizione, numero di una colonna per Value e una colonna il numero per anno ha acquistato.

Il perno è messa a punto con il seguente

  • Campi: Descrizione, Valore e quest'anno ha acquistato.

  • Le etichette di colonna: anno ha acquistato

  • Etichette di riga: Descrizione
  • Somma dei valori: Somma di Valore

C'è un menu a discesa di filtro etichette sulle etichette di riga - fare clic su questo e non ci dovrebbe essere un'opzione per selezionare i filtri Label. Selezionare questa, quindi selezionare Contiene. È possibile immettere dire "bianco" che selezionerà tutte le descrizioni che contengono per esempio bianco "Secco, Bianco", "Bianco, Crisp". Il filtro comprende? per rappresentare un singolo carattere e * per rappresentare qualsiasi serie di caratteri.

Non ci sono filtri di etichette simili per "inizia con" e "finisce con" così come c'è la negazione.

Ho provato questo in Excel 2007 e dovrebbe funzionare anche nel 2003. Penso che in Excel 2003 è possibile anche combinare i filtri per esempio contiene "bianco" e non contiene "a secco", ma nel 2007 non riuscivo a trovare un modo per farlo.

Altri suggerimenti

Perdonami se sto affermando l'ovvio, ma la ragione si riscontrano problemi qui è che la colonna descrizione non è in 1NF, e l'interfaccia pivot di Excel non è sufficientemente flessibile per consentire la ricerca di pattern-based.

L'opzione più semplice sarà per normalizzare il CSV in una serie di colonne, ciascuna delle quali rappresenta un singolo attributo - una colonna per colore del vino, uno per la dolcezza, uno per paese di origine e così via - e applicare il filtro attraverso più colonne. Tuttavia, se (come il vostro commento sulla questione suggerisce) il vino è una metafora per il vostro vero problema, non si può avere il lusso di rivisitare la progettazione dei dati di origine.

Un'altra possibilità potrebbe essere quella di utilizzare una macro (o una query di database - Io non sono chiare dalla tua domanda se si è implementato già il sistema di tag) per pre-filtrare i dati di ingresso sul foglio di origine della tabella pivot in base alla i valori delle variabili che si desidera cercare, poi ri-aggiornare la tabella pivot in base a tali dati.

Una terza possibilità è la VBA utilizzato in questa domanda , che sembra che sarà su misura filtrare righe visibili della tabella pivot.

= SE (ISERR (FIND ( "BIANCO", UPPER (B5))), 0,1)

creare una colonna in più e aggiungere una formula. Ci sono 2 trucchi per questo. Uno è quello di cercare per il bianco nella colonna descrizione utilizzando superiore - per battere il fatto che eccellono ritrovamento è case sensitive. Due è che si restituisce un errore di valore se la stringa non esiste - così ISERR vi permetterà di trappola che e tornare in questo esempio 0, se non lo fa o 1 se lo fa. Si potrebbe sostituire bianca e vuota per 1 e 0.

si potrebbe scrivere uno script che scorre i dati e aggiunge nuove linee per ogni separati da virgola voce nella colonna descrizione. Ciò consentirebbe la tabella pivot per filtrare meglio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top