Il filtro avanzato di Excel consente di superare i limiti tecnici del filtro automatico: é uno strumento indispensabile per poter effettuare filtri anche molto complessi su elenchi di dati.
In questo articolo vengono proposti diversi esempi pratici: dall’utilizzo base del filtro avanzato in excel all’inserimento di criteri complessi tramite i caratteri jolly “?” e “*”. Per un utilizzo ancor più “spinto” rispetto ai caratteri jolly si veda l’articolo sui campi calcolati.
Come il filtro avanzato può aiutarci ad andare oltre i limiti di quello automatico? Come si fa il filtro avanzato in excel?
1. Quando usare il filtro avanzato excel? Limiti del filtro automatico
Il filtro automatico di Excel ci permette di risolvere solo le situazioni più semplici. Quelle in cui abbiamo dei parametri da definire su più colonne e vogliamo che i parametri siano verificati contemporaneamente.
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Quando il filtro automatico mostra i suoi limiti? Vediamo subito un esempio pratico.
Nella tabella sottostante abbiamo un elenco composto da due colonne: provincia di residenza ed età.
Vogliamo estrarre i clienti della provincia di Firenze con età maggiore di 25 (e fin qui basterebbe utilizzare il filtro automatico) e i clienti di Bologna con età minore di 40 (segnati con due sfumature di verde nell’immagine sottostante).
Possiamo utilizzare il filtro automatico? No, perché è vero che possiamo scegliere FI nella provincia e ‘maggiore di 25’ nell’età, ma quando andiamo ad aggiungere BO alla provincia e ‘minore di 40’ (con la voce personalizzato) all’età i nostri due criteri vengono combinati tra loro.
Il risultato sarà quello di estrarre i clienti di Firenze e quelli di Bologna con età compresa tra 25 e 40. Ma questo non è quello che avremmo voluto estrarre. Ci perdiamo infatti i clienti di Firenze sopra i 40 e i clienti di Bologna sotto i 25.
Ma allora il filtro automatico di excel non funziona? Il filtro automatico funziona ma non basta per quello che dobbiamo trovare noi. Ci viene allora in soccorso il filtro avanzato di Excel. Gli esempi di filtro avanzato che vedremo saranno applicati a Excel 2016 ma valgono anche per Excel 2010 e tutte le precedenti versioni.
2. Come usare il filtro avanzato: definizione dei criteri ed applicazione del filtro
Per inserire il filtro avanzato dobbiamo seguire pochi semplici passi.
A Tabella dei criteri
Ci viene chiesto un semplice lavoro preparatorio che consiste nella creazione di una tabella dei criteri, la quale permetterà di specificare i due criteri FI > 25 e BO < 40 per darli ‘in pasto’ al filtro avanzato.
La tabella dei criteri viene solitamente preparata sopra alla tabella da filtrare. Avremo bisogno di inserire alcune righe vuote nel caso non ci sia spazio sufficiente.
Si inizia copiando e incollando le intestazioni della tabella da filtrare. Sono le intestazioni che permettono il ‘match’ tra la tabella dei criteri e la tabella da filtrare.
Sotto alle intestazioni si prepara il primo criterio, scrivendo FI sotto all’intestazione della pronvincia e >25 sotto a quella dell’età. Nella riga successiva si scriverà il secondo criterio, BO e < 40.
In ogni riga viene chiesto che la condizione sia verificata contemporaneamente: FI AND >25, BO AND < 40. Tra una riga e l’altra vi è una sorta di OR: visualizza i clienti che soddisfano alla prima condizione oppure alla seconda.
B Richiamiamo il comando “Avanzate” dalla scheda “Dati”
Preparata la tabella dei criteri ci si posiziona in una qualsiasi cella della tabella da filtrare e si va a richiamare il filtro avanzato di excell, da scheda “Dati” voce “Avanzate”.
C Definizione dei criteri
I parametri più importanti sono due: intervallo elenco ed intervallo criteri.
L’intervallo elenco rappresenta la tabella da filtrare e, dato che prima di richiamare il filtro ci eravamo posizionati all’interno della tabella, questa informazione dovrebbe essere già popolata correttamente. Ma controlliamo per sicurezza.
Nel campo intervallo criteri andiamo a selezionare la tabella dei criteri, partendo dalle intestazioni. Confermiamo quindi con il pulsante ‘Ok’.
Il risultato sarà quello desiderato.
3. Attenzione, caratteristica importante: il filtro cerca le celle che iniziano con quello che il criterio richiede!!!
Nell’immagine precedente vediamo che il filtro ci ha estratto anche la cella cui è scritto Firenze. Questo perchè il filtro ritiene rispondenti al criterio tutte le celle il cui contenuto inizia con ciò che è stato specificato nel criterio. Quindi tutto ciò che inizia con Fi (non è case sensitive, maiuscolo o minuscolo non cambia).
Come fare allora per far sì che il filtro avanzato estragga solamente le celle in cui la parola è esattamente “Fi”? E’ sufficiente far precedere “Fi” dal simbolo uguale: =Fi. Per evitare però che questa scrittura dia come risultato “#NOME?” è sufficiente anteporre il simbolo dell’apostrofo, così che Excel interpreti quel che abbiamo scritto non come un nome ma come un testo. Quindi scriviamo ‘=Fi
Questo il risultato:
Il simbolo di uguale da solo indica che cerchiamo le celle vuote. Al contrario, la scrittura “<>” (diverso) indica che vogliamo individuare le celle diverse da vuoto, cioè solo le celle che hanno del contenuto.
4. Opzioni del filtro avanzato: “Copia in un’altra posizione”
Tra le opzioni del filtro avanzato di Excel vi è la voce predefinita “Filtra l’elenco sul posto”e quella alternativa “Copia in un’altra posizione”, a cosa servono?
La voce “Filtra l’elenco sul posto” permette di filtrare la tabella nascondendo le righe che non rispondono ai criteri desiderati.
La voce “Copia in un’altra posizione” permette di lasciare invariata la tabella di partenza e di ottenere il risultato del filtro avanzato in un’altra posizione del foglio, specificata dal parametro “Copia in:”. Questo è un modo per creare una tabella ridotta a partire da quella di partenza.
E’ possibile copiare il risultato in un altro foglio? Sì. E’ vero che se proviamo a farlo otteniamo un messaggio di errore, ma esiste un modo per evitare questa limitazione: bisogna posizionarsi sul foglio in cui si vuole il risultato, richiamare il filtro avanzato e popolare i parametri andando a selezionare gli intervalli nel foglio in cui sono presenti.
5. Opzioni del filtro avanzato: “Copia univoca dei record”
Selezionando questa opzione Excel verificherà se ci sono righe uguali e ci restituirà solo la PRIMA trovata. Per essere considerate uguali due righe devono avere lo stesso contenuto su tutte le celle.
6. Domande frequenti
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Come rimuovere il filtro avanzato? Per eliminare il filtro avanzato è sufficiente cliccare sul comando “Cancella” posto nel gruppo “Ordina e filtra” della scheda Dati, poco più in alto rispetto al comando “Avanzate” utilizzato per inserire il filtro.
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Possiamo applicare il filtro automatico sul risultato del filtro avanzato? No, se si attiva il filtro automatico si torna alla tabella di partenza azzerando i risultati del filtro avanzato?
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Possiamo ordinare il risultato del filtro avanzato? Si, possiamo utilizzare i consueti pulsanti A-Z Z-A oppure l’ordinamento personalizzato.
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Possiamo applicare la formattazione condizionale? Sì, tenendo presente che essa verrà applicata anche alle celle nascoste dall’applicazione del filtro. A meno che, dopo aver selezionato le celle dove applicare la formattazione condizionale, non si vada a limitare la selezione alle sole celle visibili tramite il comando “Trova e seleziona”, voce “Vai a formato speciale…”, opzione “Solo celle visibili”.
[icon icon=”question-circle” url=”” size=”20px” new_window=”no”] Possiamo ripetere una particolare intestazione per effettuare ad esempio filtri relativi ad intervalli? Sì, come si può vedere nell’immagine successiva, è possibile ripetere una intestazione per combinare i valori all’interno di un singolo campo.
7. Oltre l’utilizzo standard: criteri complessi con i caratteri jolly
Se vogliamo sfruttare il filtro avanzato ad un livello superiore possiamo agire in due modi: utilizzare i caratteri jolly (‘*’ e ‘?’) o sfruttare i criteri calcolati, vedi il tutorial sui campi calcolati.
In questo paragrafo vediamo come utilizzare i caratteri jolly attraverso degli esempi pratici.
Diciamo innanzitutto che il simbolo “*” identifica un numero di caratteri qualsiasi, da zero ad infinito. Il simbolo “?” identifica un singolo qualsiasi carattere.
Questi simboli possono essere utilizzati all’interno dei criteri preparati nella tabella dei criteri e permettono di eseguire delle estrazioni che altrimenti non sarebbero possibili.
I caratteri jolly funzionano solamente quando il contenuto è testuale.
E se volessimo estrarre i valori che contengono asterisco o punto di domanda in una particolare posizione? Dovremmo scrivere il simbolo della tilde (~) , ALT+126, davanti a “*” o a “?”: se volessimo ad esempio trovare tutte le province che iniziano per “t” e che hanno un punto di domanda come secondo carattere dovremmo scrivere t~?, se scrivessimo invece t? staremmo chiedendo tutte le province che iniziano per “t” e che hanno almeno due caratteri.
Esempi di utilizzo dei caratteri jolly all’interno del filtro avanzato
[icon icon=”flask” url=”” size=”20px” new_window=”no”] Esempio n°1
Estrarre le righe la cui provincia di residenza ha la lettera “o” come seconda lettera.
Il criterio sarà “?o”. Diciamo così a Excel che il primo carattere può essere qualsiasi, un numero o un carattere. Il secondo carattere deve essere necessariamente una “o”.
Perché Excel non estrae solamente le province il cui nome è composto da due soli caratteri? Perché abbiamo visto prima che vengono estratti i valori che INIZIANO con quel che abbiamo scrittto nel criterio, quindi scrivendo “?o” stiamo chiedendo di estrarre tutte le province che iniziano con due caratteri il cui secondo è una “o”.
Possiamo dire che dopo “?o” c’è una sorta di “*” implicito.
[icon icon=”flask” url=”” size=”20px” new_window=”no”] Esempio n°2
Estrarre le righe la cui provincia di residenza è composta da almeno tre caratteri.
Il criterio sarà “???”. Devono esserci necessariamente tre caratteri e poi può esserci qualsiasi cosa.
Quello che hai visto in questo tutorial è quel che serve per utilizzare ad un livello alto il filtro avanzato. Se vuoi vedere anche le caratteristiche ancor più avanzate vai al tutorial numero 2.
Ciao, è possibile avere un tuo indirizzo email? Sto cercando di risolvere un problema con un mio db e vorrei capire se i filtri avanzati potrebbero essere utili. E possibile ti inverei il file spiegandoti il problema. Grazie mille
Ciao Samuele, intanto complimenti. Articolo ben fatto e utilissimo. Mi sapresti dire come impostare un criterio per un intervallo date (o > di .. < di ) su un campo tipo data?
Grazie
Ciao Luca! Grazie 🙂
Nella tabella dei criteri puoi ripetere più volte la stessa variabile. Quindi, supponendo che il tuo campo si chiami DataVendita, tu devi riportare due volte l’etichetta DataVendita. Sotto alla prima DataVendita avrai il criterio relativo all’inizio del tuo intervallo (qualcosa tipo >=01/01/1980) e sotto alla seconda DataVendita avrai il criterio relativo alla fine del tuo intervallo (ad esempio <=31/12/1989). Se hai dubbi scrivimi pure: samuele@amicoexcel.it
Ciao Samuele grazie mille della spiegazione, che finalmente è davvero esaustiva e chiara !. Arei bisogno di chiederti se puoi dirmi per quale ragione dopo aver settato i criteri di ricerca nel filtro avanzato (range della tabella, range dei criteri di estrazione, rigo vuoto sopra l’intervallo di ricerca, rigo vuoto tra la tabella e il range dei dati) ……
– collassano le righe
– restano solo le intestazioni delle colonne e scompaiono tutti i dati presenti nelle celle
– non sono visualizzati i dati estratti
Dove sbaglio ? aiutoooooo !!
Antonio
Ciao Antonio. Controlla che le intestazioni della tabella criteri siano esattamente uguali a quelle dell’elenco. Le hai copiate/incollate o scritte a mano? Bastano uno spazio o un “a capo” manuale perché Excel le veda come diverse.
Casomai mandami il file.. samuele@amicoexcel.it
Ciao Samuele, complimenti per l’articolo!
E’ possibile impostare un filtro avanzato sulla base di una data validation?
In altre parole impostando un parametro dal menu a tendina, ottengo i risultati filtrati nella tabella.
Ho trovato un metodo aggregando diverse formule, ma quando devo impostare un secondo filtro diventa un disastro.
Grazie anticipatamente
Giovanni
Ciao Giovanni. Grazie! Riesci ad inviarmi due dati di esempio su file? samuele@amicoexcel.it
Ciao Samuele,
ho letto il tuo tutorial e l’ho trovato molto interessante, non usavo ili filtro avanzato da excel 5.0.
Volevo usare il filtro copiando i risultati su un altro foglio, solo che non funziona, probabilmente sbaglio qualcosa.
Ho impostato sulla pagina di destinazione denominata “risultato” l’intestazione con i campi dei criteri e sotto ho selezionato il punto dove voglio far copiare i dati.
Ho selezionato il filtro avanzato dalla pagina “risultato” ed ho selezionato dalla pagina “dati” la tabella dove ci sono tutte le informazioni.
Ho selezionato i campi dei criteri dalla pagina “risultato”
Ho selezionato il punto dove voglio che vengano riportati i ruisltati del filtro sulla pagina “risultato”.
Purtroppo come risultato mi viene riportato solo l’intestazione della tabella.
Dove sbaglio?
grazie
Ciao Max
Ciao Massimo. Quanto descrivi mi sembra corretto. Il filtro avanzato mostra solo le intestazioni quando nessuna riga soddisfa i criteri specificati. Quindi penso non dipenda dal fatto che vuoi creare il risultato in un secondo foglio e che parti da esso (cosa possibile infatti) ma da come hai creato la tabella dei criteri.
Hai copiato le intestazioni o le hai scritte a mano? Bastano uno spazio, un a capo con ALT invio a far vedere come diverse le intestazioni.
Se vuoi mandami uno stralcio del file… samuele@amicoexcel.it