La funzione FILTRO consente di filtrare un intervallo di dati in base a criteri definiti.
Nell'esempio seguente è stata usata la formula =FILTRO(A5:D20,C5:C20=H2,"") per restituire tutti i record per “Mela”, secondo quanto selezionato nella cella H2, e, se non ci sono "mele", restituire una stringa vuota ("").
La funzione FILTRO filtra una matrice in base a una matrice di tipo booleano (vero/falso).
=FILTRO(matrice,includi,[se_vuoto])
Argomento |
Descrizione |
matrice Obbligatorio |
La matrice o l’intervallo da filtrare |
includi Obbligatorio |
Una matrice booleana la cui altezza o larghezza equivale alla matrice |
[se_vuoto] Facoltativo |
Il valore da restituire se tutti i valori nella matrice inclusa sono vuoti (il filtro non restituisce nulla) |
:
-
Una matrice può essere considerata come una riga di valori, una colonna di valori o una combinazione di righe e colonne di valori. Nell'esempio precedente, la matrice di origine per la formula FILTRO è l'intervallo A5:D20.
-
La funzione FILTRO restituisce una matrice, che si espanderà se è il risultato finale di una formula. Questo significa che Excel creerà dinamicamente l'intervallo di matrici di dimensioni appropriate quando si preme INVIO. Se i dati di supporto si trovano in una tabella di Excel, la matrice sarà ridimensionato automaticamente quando si aggiungono o rimuovono i dati dall'intervallo di matrice, se si usano i riferimenti strutturati. Per ulteriori informazioni, vedere l'articolo sul Comportamento di matrice espansa.
-
Se il set di dati potrebbe restituire un valore vuoto, usare il terzo argomento ([se_vuoto]). In caso contrario, verrà generato un errore #CALC! perché Excel non supporta attualmente le matrici vuote.
-
Se un valore dell’argomento Includi è un errore (#N/D, #VALUE e così via) o non può essere convertito in un valore booleano, la funzione FILTRO restituirà un errore.
-
Excel offre un supporto limitato per le matrici dinamiche tra due cartelle di lavoro, e questo scenario è supportato solo quando entrambe le cartelle di lavoro sono aperte. Se si chiude la cartella di lavoro di origine, qualsiasi formula di matrice dinamica collegata restituirà un errore di tipo #REF! quando viene aggiornata.
Esempi
FILTRO usato per restituire più criteri
In questo caso, usiamo FILTRO con l'operatore di moltiplicazione (*) per restituire tutti i valori nell'intervallo matrice (A5:D20) contenenti "mele" E che si trovano nell'area orientale: =FILTRO(A5:D20,(C5:C20=H1)*(A5:A20=H2),"").
FILTRO usato per restituire più criteri e ordinare
In questo caso, usiamo la funzione FILTRO precedente con la funzione DATI.ORDINA per restituire tutti i valori nell'intervallo matrice (A5:D20) contenenti "mele" E che si trovano nell'area orientale, quindi ordinare le unità in ordine decrescente: =DATI.ORDINA(FILTRO(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
In questo caso, usiamo la funzione FILTRO con l’operatore di addizione (+) per restituire tutti i valori nell'intervallo matrice (A5:D20) contenenti "mele" O che sono presenti nell'area orientale, quindi ordinare le unità in ordine decrescente: =DATI.ORDINA(FILTRO(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1).
Si noti che nessuna delle funzioni richiede riferimenti assoluti, poiché esistono solo in una cella, ed espande i risultati alle celle adiacenti.
Servono altre informazioni?
È sempre possibile rivolgersi a un esperto della Tech Community di Excel o ottenere supporto nelle Community.