Descrizione
Il filtro avanzato
Obiettivi della lezione
Saper applicare e gestire i filtri avanzati.
Indice lezione
Lezione 22 - Foglio Elettronico
22.1
Il filtro avanzato;
22.2
Varie tipologie di
criteri: Criteri di testo con numeri;
22.3
Varie tipologie di
criteri: I criteri calcolati;
22.4
Varie tipologie di
criteri: La visualizzazione solo di righe uniche;
22.5
Esercizio.
Dati sulla lezione
|
Versione: |
v1.0 |
|
Tempi: |
2 ore / 120 minuti |
|
Data svolgimento lezione: |
28 Maggio 2003 |
|
Autore dei contenuti: |
Vastapane Marco Attilio |
|
Autore materiali didattici: |
Togni Francesca |
La Teoria
In molti casi il filtro automatico, analizzato nella scorsa
lezione, č adatto alle proprie esigenze, ma se i suoi limiti rappresentano un
problema, risulta necessario usare il filtro avanzato : č questo uno strumento
molto piů flessibile del filtro automatico, ma richiede un maggior impegno da parte
dell'utente.
Il filtro avanzato offre i seguenti vantaggi:
q si possono specificare criteri di filtro piů complessi
q si possono specificare criteri di filtro calcolati
q si puň estrarre una copia delle righe che soddisfano i criteri in un'altra posizione
Prima di usare il filtro avanzato, si deve impostare un intervallo dei criteri, cioč un intervallo prestabilito su un foglio di lavoro che sia conforme a certi requisiti. L'intervallo dei criteri contiene informazioni che Excel usa per filtrare l'elenco deve rispettare le seguenti specificazioni:
q deve essere costituito da almeno due righe delle quali la prima deve contenere alcuni o tutti i nomi dei campi dell'elenco
q le altre righe dell'intervallo di criteri devono essere costituite dai criteri di filtro
Sebbene si possa collocare l'intervallo di criteri in un punto qualsiasi nel foglio di lavoro, e consigliabile non porlo nell’interno dell'elenco. Poiché Excel nasconde alcune di queste righe quando filtra l'elenco, puň capitare che l'intervallo di criteri non č piů visibile dopo aver applicato il filtro. E’meglio quindi porre l'intervallo di criteri al di sopra oppure sotto l'elenco.
Nell’immagine sottostante, č possibile osservare la tabella contenente i dati relativi alle autovetture. Nelle celle colorate in verde, č stato collocato il campo dei criteri del filtro. Ovviamente, il colore non ha nessuna influenza nell’utilizzo del filtro.

Solamente alcuni nomi di campo appaiono nell'intervallo dei criteri. I nomi dei campi che non compaiono nei criteri di selezione non vanno inclusi nell'intervallo dei criteri .
Nel primo esempio di intervallo di criteri vediamo che č composto da un'unica riga. I campi in ciascuna riga dell'intervallo di criteri sono uniti con un operatore AND;l'elenco filtrato mostra le righe in cui la colonna Codice č uguale a "Fiat" e la colonna Alimentazione č uguale a "benzina". In altre parole l'elenco visualizza solo le autovetture con codici Fiat alimentate a benzina.
Per applicare il filtro occorre effettuare le seguenti operazioni:
q scegliere DatičFiltrač Filtro avanzato

q sullo schermo compare la finestra di dialogo rappresentata nella figura.

q Si deve specificare l'intervallo dell'elenco dell'intervallo dei criteri; per non perdere l'elenco originario, si consiglia di filtrare l'elenco su un'altra posizione: mettere quindi il pallino sulla voce copia in un'altra posizione quindi selezionare la posizione desiderata sul foglio di lavoro.
q Terminare l'operazione premendo il pulsante OK.
Ecco come si presenta la finestra di dialogo dopo che č stata impostata per selezionare un elenco nelle cella A1:H26 ; come intervallo criteri viene scelta la zona A29:H30; come posizione per la lettura dei risultati, A32:H60.

Quando sono piů numerosi i criteri, se si usa piů di una riga nell'intervallo di criteri,questi in ogni riga sono uniti dall’ operatore OR.
Nell’esempio sottostante l'elenco filtrato mostra le righe in uno dei modi seguenti :
il campo codice č equivalente a Fiat AND il campo alimentazione č uguale a benzina

Ripetendo la procedura sopra descritta, i dati verranno filtrati in base alle specifiche richieste.
Come risultato si otterrŕ nella parte del foglio di Excel che abbiamo destinato alla lettura dei medesimi, tutti i dati relativi alle auto Fiat alimentate a benzina.

Se andiamo ad impostare il campo codice uguale a Fiat AND il campo costo č impostato a maggiore di 8000, avremo tutte le auto Fiat con un costo maggiore di 8000.

Questa funzionalitŕ resta esclusa con la modalitŕ vista nella lezione precedente riguardante il filtro automatico. In effetti, č possibile comunque arrivare a questo risultato, ma con una sequenza successiva di passaggi.
22.2 - Varie tipologie di criteri: Criteri di testo
con numeri
Le immissioni nell'intervallo di criteri possono essere di diverso tipo:
Criteri di testo con numeri.
L'applicazione del filtro implica dei confronti con un numero oppure una stringa usando operatori come uguale, maggiore di, non uguale a che cosě via;
tra i vari operatori di confronto che possibile utilizzare con i criteri di testo numeri troviamo:
|
Uguale |
= |
|
Maggiore |
> |
|
Minore |
< |
|
Maggiore uguale |
>= |
|
Minore uguale |
<= |
|
Diverso |
<> |
tra i vari operatori di confronto che possibile utilizzare con stringhe possiamo vedere:
|
>L |
Il testo trovato inizierŕ con le lettere che vanno dalla M alla Z |
|
<>C |
Tutto il testo che non inizia con la lettera C |
|
Fi* |
Il testo che inizia con FI |
|
F*A |
Il testo che inizia con F e termina con A |
|
P?R |
Il testo di tre lettere che inizia con P e termina con R |
22.3 - Varie tipologie di criteri: I criteri
calcolati
l'uso dei criteri calcolati puň rendere il filtro ancora piů potente, poiché l'elenco viene filtrato in base a uno o piů calcoli. Nel nostro esempio, utilizzando come criterio il campo calcolato presente nelle cella A28:A29 possiamo filtrare i dati dell'elenco in modo veramente interessante. Infatti in questa cella č stata inserita la semplice formula =D2<>MIN(D2:D26) che va a calcolare la potenza minima dei propulsori delle nostre autovetture, e la confronta con le singole potenze dei motori.Il risultato consiste nell'aver filtrato i dati, in base ad un calcolo esterno, visualizzando tutti i modelli che rispettano questo parametro. Infatti, saranno scremate dall’elenco, tutte le auto con la potenza minore.
Nell’immagine sottostante troviamo la corretta finestra di dialogo per l’impostazione dei parametri.

|
minimo |
|
|
|
|
|
|
|
|
FALSO |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
FIAT |
Punto |
1200 |
55 |
Benzina |
NO |
8.000 |
SI |
|
FIAT |
Tipo |
1600 |
86 |
Benzina |
NO |
12.000 |
|
|
FIAT |
Croma |
2000 |
120 |
Benzina |
SI |
16.000 |
|
|
FIAT |
Marea |
1900 |
90 |
Diesel |
SI |
14.000 |
SI |
|
LANCIA |
Delta |
2000 |
150 |
Benzina |
SI |
25.000 |
|
|
LANCIA |
Dedra |
1800 |
120 |
Benzina |
NO |
18.000 |
|
|
LANCIA |
Thema |
2000 |
170 |
Benzina |
SI |
20.000 |
|
|
LANCIA |
Y |
1100 |
60 |
Benzina |
NO |
10.000 |
SI |
|
AUDI |
80 |
1600 |
100 |
Benzina |
NO |
17.000 |
|
|
AUDI |
90 |
2000 |
110 |
Diesel |
NO |
18.000 |
|
|
AUDI |
A4 |
1800 |
140 |
Benzina |
SI |
30.000 |
SI |
|
AUDI |
A3 |
1800 |
130 |
Benzina |
NO |
25.000 |
SI |
|
AUDI |
TT |
2200 |
190 |
Benzina |
SI |
30.000 |
SI |
|
VOLKSWAGEN |
Golf |
1900 |
130 |
Diesel |
SI |
20.000 |
SI |
|
VOLKSWAGEN |
Polo |
1400 |
75 |
Diesel |
SI |
15.000 |
SI |
|
MERCEDES |
SLK |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
Kompressor |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
190 |
1800 |
110 |
Benzina |
NO |
20.000 |
|
|
FORD |
Focus |
1900 |
105 |
Diesel |
SI |
13.000 |
SI |
|
FORD |
Mondeo |
2000 |
110 |
Benzina |
NO |
15.000 |
SI |
|
ALFA ROMEO |
75 |
1700 |
120 |
Benzina |
NO |
18.000 |
|
|
|
|
|
|
|
|
|
|
Quando si usano i criteri calcolati č necessario tenere presente alcuni aspetti:
q non si deve utilizzare un nome di campo nell'intervallo dei criteri che appare nell'elenco. Č necessario creare un nuovo nome di campo o lasciare la cella vuota.
q si puň utilizzare uno qualsiasi dei criteri calcolati, mescolarli o confrontarli con criteri non calcolati
Altre operazioni avanzate di applicazione di filtri che abbiano visto nell'utilizzo di questi sono la copia in un'altra posizione e la copia univoca di record.
Se nella finestra di dialogo Filtro Avanzato si sceglie l'opzione Copia in un'altra posizione, Excel copia le righe che soddisfano i criteri specificati in un'altra posizione nel foglio di lavoro oppure in uno diverso. E' necessario poi selezionare la posizione per le righe copiate nella casella Copia in.
22.4 - Varie tipologie di criteri: La
visualizzazione solo di righe uniche
scegliendo l'opzione copia univoca di record, si nascondono tutte le righe duplicate che soddisfano i criteri specificati. Se non si specifica un intervallo dei criteri , quest'opzione nasconde tutte le righe duplicate dell'elenco.
Nell'esercizio applicato alla lezione andremo ad effettuare la costruzione di una macro abbinata al filtro avanzato.
La Pratica
Esercizio: creare un filtro avanzato che, con l’aiuto di una macro vada a rendere automatico il procedimento di filtraggio dati.
q Aprire il file database_auto.xls
q Sulla celle A29:H29 ricopiare, oppure incollare la stessa intestazione delle celle A1:H1
q Premere ESC per uscire dalla selezione
q Selezionare una cella compresa tra l’intervallo A1:H26
q Premere il tasto Dati-Filtro-Filtro Avanzato
q Impostare nel modo visto nella lezione la finestra di dialogo per il settaggio del filtro.
q Premere OK
Ecco cosa dovrebbe essere successo.
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
FIAT |
Uno |
900 |
45 |
Benzina |
NO |
7.500 |
NO |
|
FIAT |
Punto |
1200 |
55 |
Benzina |
NO |
8.000 |
SI |
|
FIAT |
Tipo |
1600 |
86 |
Benzina |
NO |
12.000 |
NO |
|
FIAT |
Croma |
2000 |
120 |
Benzina |
SI |
16.000 |
NO |
|
FIAT |
Marea |
1900 |
90 |
Diesel |
SI |
14.000 |
SI |
|
LANCIA |
Delta |
2000 |
150 |
Benzina |
SI |
25.000 |
NO |
|
LANCIA |
Dedra |
1800 |
120 |
Benzina |
NO |
18.000 |
NO |
|
LANCIA |
Thema |
2000 |
170 |
Benzina |
SI |
20.000 |
NO |
|
LANCIA |
Y |
1100 |
60 |
Benzina |
NO |
10.000 |
SI |
|
AUDI |
80 |
1600 |
100 |
Benzina |
NO |
17.000 |
NO |
|
AUDI |
90 |
2000 |
110 |
Diesel |
NO |
18.000 |
NO |
|
AUDI |
A4 |
1800 |
140 |
Benzina |
SI |
30.000 |
SI |
|
AUDI |
A3 |
1800 |
130 |
Benzina |
NO |
25.000 |
SI |
|
AUDI |
TT |
2200 |
190 |
Benzina |
SI |
30.000 |
SI |
|
VOLKSWAGEN |
Golf |
1900 |
130 |
Diesel |
SI |
20.000 |
SI |
|
VOLKSWAGEN |
Polo |
1400 |
75 |
Diesel |
SI |
15.000 |
SI |
|
MERCEDES |
SLK |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
Kompressor |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
190 |
1800 |
110 |
Benzina |
NO |
20.000 |
NO |
|
FORD |
Fiesta |
900 |
45 |
Benzina |
NO |
8.000 |
SI |
|
FORD |
Focus |
1900 |
105 |
Diesel |
SI |
13.000 |
SI |
|
FORD |
Mondeo |
2000 |
110 |
Benzina |
NO |
15.000 |
SI |
|
ALFA ROMEO |
33 |
1300 |
90 |
Benzina |
NO |
15.000 |
NO |
|
ALFA ROMEO |
75 |
1700 |
120 |
Benzina |
NO |
18.000 |
NO |
|
ALFA ROMEO |
146 |
1400 |
100 |
Benzina |
NO |
10.000 |
SI |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
FIAT |
Uno |
900 |
45 |
Benzina |
NO |
7.500 |
NO |
|
FIAT |
Punto |
1200 |
55 |
Benzina |
NO |
8.000 |
SI |
|
FIAT |
Tipo |
1600 |
86 |
Benzina |
NO |
12.000 |
NO |
|
FIAT |
Croma |
2000 |
120 |
Benzina |
SI |
16.000 |
NO |
|
FIAT |
Marea |
1900 |
90 |
Diesel |
SI |
14.000 |
SI |
|
LANCIA |
Delta |
2000 |
150 |
Benzina |
SI |
25.000 |
NO |
|
LANCIA |
Dedra |
1800 |
120 |
Benzina |
NO |
18.000 |
NO |
|
LANCIA |
Thema |
2000 |
170 |
Benzina |
SI |
20.000 |
NO |
|
LANCIA |
Y |
1100 |
60 |
Benzina |
NO |
10.000 |
SI |
|
AUDI |
80 |
1600 |
100 |
Benzina |
NO |
17.000 |
NO |
|
AUDI |
90 |
2000 |
110 |
Diesel |
NO |
18.000 |
NO |
|
AUDI |
A4 |
1800 |
140 |
Benzina |
SI |
30.000 |
SI |
|
AUDI |
A3 |
1800 |
130 |
Benzina |
NO |
25.000 |
SI |
|
AUDI |
TT |
2200 |
190 |
Benzina |
SI |
30.000 |
SI |
|
VOLKSWAGEN |
Golf |
1900 |
130 |
Diesel |
SI |
20.000 |
SI |
|
VOLKSWAGEN |
Polo |
1400 |
75 |
Diesel |
SI |
15.000 |
SI |
|
MERCEDES |
SLK |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
Kompressor |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
190 |
1800 |
110 |
Benzina |
NO |
20.000 |
NO |
|
FORD |
Fiesta |
900 |
45 |
Benzina |
NO |
8.000 |
SI |
|
FORD |
Focus |
1900 |
105 |
Diesel |
SI |
13.000 |
SI |
|
FORD |
Mondeo |
2000 |
110 |
Benzina |
NO |
15.000 |
SI |
|
ALFA ROMEO |
33 |
1300 |
90 |
Benzina |
NO |
15.000 |
NO |
|
ALFA ROMEO |
75 |
1700 |
120 |
Benzina |
NO |
18.000 |
NO |
|
ALFA ROMEO |
146 |
1400 |
100 |
Benzina |
NO |
10.000 |
SI |
L’elenco Originario č stato filtrato in base a NESSUN criterio, quindi tutti i dati sono stati riportati nell’area destinata alla visualizzazione dei dati.
q Nella cella A30 scriviamo FIAT
q Premere il tasto Dati-Filtro-Filtro Avanzato
q Impostare nel modo visto nella lezione la finestra di dialogo il settaggio del filtro.

q Premere OK
q Il risultato che dovrebbe apparire, in base ai dati filtrati con codice=Fiat
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
FIAT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
FIAT |
Uno |
900 |
45 |
Benzina |
NO |
7.500 |
NO |
|
FIAT |
Punto |
1200 |
55 |
Benzina |
NO |
8.000 |
SI |
|
FIAT |
Tipo |
1600 |
86 |
Benzina |
NO |
12.000 |
NO |
|
FIAT |
Croma |
2000 |
120 |
Benzina |
SI |
16.000 |
NO |
|
FIAT |
Marea |
1900 |
90 |
Diesel |
SI |
14.000 |
SI |
q Per utilizzare l’operatore OR, per filtrare ad esempio le auto Fiat e Audi, occorre inserire una seconda riga nei Criteri.Quindi in questo caso sarebbe composta dalle celle A29:H31
q Per utilizzare l’operatore AND, per filtrare ad esempio le auto Fiat con potenza compresa tra 50 e 100 cavalli, oppure con costo compreso tra 10.000 e 15.000, occorre inserire le necessarie celle sulla riga A29.
Questa variante sarŕ vista nel corso della prossima lezione.
q Andiamo a creare un pulsante che permetta di effettuare l’automatismo necessario alla funzione Filtro avanzato.
q Dal menu Strumenti effettuiamo le operazioni necessarie a registrare una nuova macro. I passaggi che andremo a compiere sono quelli che abbiamo fatto per l’impostazione del filtro avanzato.
q Al termine delle operazioni, il codice prodotto dovrebbe essere il seguente. Per visualizzarlo, dal menu Strumenti, scegliere macro, quindi ancora macro. Dall’elenco selezionare la macro che abbiamo appena registrato, quindi premere il tasto Modifica.

Il codice prodotto dovrŕ essere copiato ed incollato all’interno dell’evento clic di un commandbutton che andremo ad inserire sul foglio di Excel.
Cosa dice questo codice: l’intervallo D13 viene selezionato: č una cella del nostro elenco. L’azione Filtro avanzato viene applicata all’intervallo A1:H26 ed il risultato viene copiato nelle celle A32:H32 . I criteri sono inseriti nelle celle A29:H30.
q L’evento del pulsante cmbfiltra sarŕ quindi il seguente

Usciamo dalla modalitŕ progettazione, ed andiamo a scrivere nell’area riservata ai criteri la parola Audi nella cella A30, quindi premiamo il nostro tasto del filtro.
L’azione effettuata dalla macro va a lanciare il filtro avanzato nell’elenco in nostro possesso, e restituisce i dati in base ai criteri impostati.
In questo caso, ecco il risultato.
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
Audi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
AUDI |
80 |
1600 |
100 |
Benzina |
NO |
17.000 |
NO |
|
AUDI |
90 |
2000 |
110 |
Diesel |
NO |
18.000 |
NO |
|
AUDI |
A4 |
1800 |
140 |
Benzina |
SI |
30.000 |
SI |
|
AUDI |
A3 |
1800 |
130 |
Benzina |
NO |
25.000 |
SI |
|
AUDI |
TT |
2200 |
190 |
Benzina |
SI |
30.000 |
SI |
Per visualizzare tutte le auto con potenza superiore ai 120 cavalli, impostiamo nella cella corrispondente alla cilindrata, >120, quindi premiamo il pulsante da noi creato.
Ecco il risultato
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
|
|
|
>120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codice |
Modello |
Cilindrata |
Potenza |
Alimentazione |
Turbina |
Costo |
In produzione |
|
LANCIA |
Delta |
2000 |
150 |
Benzina |
SI |
25.000 |
NO |
|
LANCIA |
Thema |
2000 |
170 |
Benzina |
SI |
20.000 |
NO |
|
AUDI |
A4 |
1800 |
140 |
Benzina |
SI |
30.000 |
SI |
|
AUDI |
A3 |
1800 |
130 |
Benzina |
NO |
25.000 |
SI |
|
AUDI |
TT |
2200 |
190 |
Benzina |
SI |
30.000 |
SI |
|
VOLKSWAGEN |
Golf |
1900 |
130 |
Diesel |
SI |
20.000 |
SI |
|
MERCEDES |
SLK |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
|
MERCEDES |
Kompressor |
2000 |
150 |
Benzina |
SI |
50.000 |
SI |
Non č obbligatorio inviare l’esercizio al tutor.
Feedback
Per
chiarimenti, si prega di lasciare la domanda direttamente sul Forum della
piattaforma Maestra.