www.valterborsato.it

Applicare la Funzione dinamica FILTRO

La Funzione FILTRO di Excel è una Funzione di matrice dinamica che consente, attraverso l'impostazione di specifici criteri, di Filtrare i dati di una tabella di Excel ed ottenerne l'estrazione del risultato all'interno di una matrice dinamica che si espanderà nel foglio di lavoro.

La Funzione di matrice dinamica FILTRO, impostata in una cella del foglio di lavoro restituisce pertanto un insieme di valori (matrice) nelle celle adiacenti. Questo tipo di comportamento viene definito espansione.

Per definizione, le Funzioni di Excel che possono restituire matrici di dimensioni variabili sono indicate come Funzioni di matrice dinamica.
:: La Funzione FILTRO, non è disponibile nella versione 2019 di Excel ma solo nella 365 a partire dalla data di luglio 2020.

Sintassi della Funzione Filtro.

La sintassi della Funzione FILTRO è la seguente
=FILTRO(matrice; includi; [se_vuoto])

Nella quale:
matrice
: rappresenta l'intervallo di dati da filtrare.
includi: definisce una matrice boleana che rappresenta i criteri da filtrare e applicare all'intervallo dati. E' possibile utilizzare un solo criterio oppure più criteri di filtro.
se_vuoto: (argomento facoltativo) serve per definire una stringa di testo da restituire qualora non ci fossero risultati. Questo argomento, essendo facoltativo può essere omesso oppure è possibile inserire "" per restituire una stringa vuota.

Applicare la Funzione Filtro prevedendo un solo criterio di di ricerca

Nell'esempio illustrato nella sottostante figura, si prevede una tabella di una trentina di dati rappresentati nell'intestazione (Venditore, Regione, Settore e Fatturato).  Nella cella F2 è stato inserito il criterio di ricerca (Rossi).
Nella cella F6 è inserita la Funzione:
=FILTRO(A2:D34;A2:A34=F2;"non ci sono dati")
Nella quale, l'argomento matrice è rappresentato dall'intervallo dati A2:D34
l'argomento includi viene descritto dalla comparazione fra la matrice A2:A34 con il contenuto della cella F2
Infine, qualora il criterio non restituisse nessun record nell'argomento se_vuoto fra doppi apici è stata inserito il testo "non ci sono dati"

Una volta inserita la Funzione FILTRO a partire dalla cella F6 vi sarà l'espansione del risultato nelle colonne a destra e in tutte le sottostanti righe.

Matrici Dinamiche: La Funzione FILTRO di Excel - Applicare la Funzione Filtro prevedendo un solo criterio di di ricerca 

Applicare la Funzione Filtro prevedendo due o più criteri di ricerca 

Esempio. Nelle prime quattro colonne del foglio di lavoro è inserita una tabella organizzata nei seguenti campi: venditore, Regione, Settore e Fatturato. Nelle celle F2 e G2 sono inseriti rispettivamente i criteri Venditore Rossi e Regione Veneto.
Infine Nella cella F6 è inserita la Funzione: =FILTRO(A2:D34;(A2:A34=F2)*(B2:B34=G2);"non ci sono dati")
Nella quale, l'argomento matrice è rappresentato dall'intervallo dati A2:D34
l'argomento includi viene descritto dalla comparazione fra la matrice A2:A34 con il criterio contenuto nella cella F2 e moltiplicata per la matrice B2:B34 confrontata con il criterio contenuto nella cella G2, ovvero (A2:A34=F2)*(B2:B34=G2)
Infine, qualora i criteri non restituissero nessun record nell'argomento se_vuoto  fra doppi apici è stata inserito il testo "non ci sono dati"

Matrici Dinamiche: La Funzione FILTRO di Excel - Applicare la Funzione Filtro prevedendo due criteri di di ricerca 

Perchè le due matrici vengono fra loro moltiplicate nel secondo argomento della funzione FILTRO.

::Approfondimento sulla Funzione =FILTRO(B3:E35;(B3:B35=G3)*(C3:C35=H3);"nessun dato disponibile")
Nel secondo argomento sulle due matrici colonna della tabella (colonne A e B) vengono verificati i criteri comparativi Rossi e Veneto.
Queste comparazioni restituiscono, a seconda o meno della corrispondenza esatta, il valore VERO oppure FALSO.
In logica matematica, il VERO corrisponde al numero 1 e il FALSO al numero 0.
Nella Funzione proposta, i risultati delle due matrici vengo fra di loro moltiplicati, pertanto solo la corrispondenza di due numeri 1 restituiranno ancora il numero 1 (VERO) e in tutte le altre moltiplicazione (FALS0*FALSO; VERO*FALSO; FALSO*VERO) il risultato sarà uguale a zero e pertanto FALSO! (0*0; 1*0; 0*1). [Vedi immagine sottostante]

Matrici Dinamiche: La Funzione FILTRO di Excel - Perchè le due matrici vengono fra loro moltiplicate nel secondo argomento della funzione FILTRO

il Codice di errore #ESPANSIONE!

Durante il processo di espansione dati se sul foglio di lavoro non ci fossero celle libere a sufficienza per l'estrazione di tutti valori corrispondenti ai criteri impostati, nella cella in cui era stata inserita la Funzione FILTRO comparirà il codice di errore #ESPANSIONE!

Matrici Dinamiche: La Funzione FILTRO di Excel - il Codice di errore #ESPANSIONE!

CONCLUSIONI.
Dopo aver impostato nella Funzione FILTRO di Excel i criteri di ricerca su una o più matrici colonna, la funzione espande il risultato finale a partire dalla cella in cui è stata inserita la Funzione stessa.
Questo significa che Excel crea dinamicamente un intervallo di matrice di dimensioni corrette non appena la Funzione verrà inserita premendo INVIO.
Il risultato della Funzione FILTRO è dinamico pertanto se i dati di origine della tabella di Excel dovessero essere modificati o se venissero modificati i criteri, il risultato sarà automaticamente aggiornato.
Qualora la funzione FILTRO restituisse il codice di errore #ESPANSIONE! significa che il risultato della formula non riesce ad espandersi sul foglio di lavoro poichè alcune celle limitrofe contengono dei dati.
Se viene selezionata una qualsiasi cella dell'espansione dati, sulla barra della formula appare riprodotta la stessa Funzione inserita nella prima cella, con la sostanziale differenza che queste funzioni però NON possono essere modificate e compariranno scritte in grigio chiaro.

Indice Generale Argomenti: EXCEL

[Valter Borsato: marzo - 2021 | Ultimo aggiornamento 08/12/2022]