La funzione FILTER in Excel
FILTRO (Inglese: FILTER) restituisce ogni riga che corrisponde a una condizione, come un elenco sempre aggiornato: tutti gli ordini Nord, tutte le fatture aperte, ogni prodotto sotto la soglia di riordino. Se cambi i dati, l'elenco si aggiorna da solo.
Il risultato si riversa: scrivi una sola formula e i valori corrispondenti riempiono le celle sotto di essa. FILTRO (Inglese: FILTER) è disponibile in Excel 2021, Excel 2024 e Microsoft 365.
Sintassi
=FILTER(array, include, [if_empty])
| Argomento | Cosa significa |
|---|---|
| array | L'intervallo da cui restituire i valori: una colonna o più colonne. |
| include | La condizione, scritta su un intervallo della stessa altezza, ad esempio B2:B6="Nord". |
| if_emptyfacoltativo | Cosa mostrare quando nessun valore corrisponde, invece di #CALC!. |
Esempi
1. Tutti gli ordini di una regione
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Ordine | Regione | Importo | Stato | Ordini Nord | |
| 2 | 1001 | Nord | 250 | Pagato | 1001 | |
| 3 | 1002 | Sud | 90 | Pagato | 1003 | |
| 4 | 1003 | Nord | 420 | Aperto | 1005 | |
| 5 | 1004 | Est | 130 | Pagato | ||
| 6 | 1005 | Nord | 75 | Pagato |
Una formula in F2; le altre due corrispondenze si riversano in F3 e F4.
2. Due condizioni: moltiplicale
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Ordine | Regione | Importo | Stato | Nord, pagati | |
| 2 | 1001 | Nord | 250 | Pagato | 1001 | |
| 3 | 1002 | Sud | 90 | Pagato | 1005 | |
| 4 | 1003 | Nord | 420 | Aperto | ||
| 5 | 1004 | Est | 130 | Pagato | ||
| 6 | 1005 | Nord | 75 | Pagato |
Ogni condizione dà VERO o FALSO per riga; moltiplicarle significa «entrambe». L'ordine 1003 è Nord ma Aperto, quindi resta fuori. Per «oppure», sommale con + invece.
3. Quando nessun valore corrisponde
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Ordine | Regione | Importo | Stato | Ordini Ovest | |
| 2 | 1001 | Nord | 250 | Pagato | Nessuno | |
| 3 | 1002 | Sud | 90 | Pagato | ||
| 4 | 1003 | Nord | 420 | Aperto | ||
| 5 | 1004 | Est | 130 | Pagato | ||
| 6 | 1005 | Nord | 75 | Pagato |
Non ci sono ordini Ovest. Senza il terzo argomento il risultato sarebbe #CALC!.
Errori comuni
Errore #SPILL!. Qualcosa blocca le celle che il risultato deve riempire.
Correzione: Svuota le celle sotto (e a destra) della formula.
Usare AND() o OR() nella condizione. Combinano interi intervalli in un unico VERO o FALSO.
Correzione: Moltiplica le condizioni per «e», sommale per «o».
Errore #VALORE!. L'intervallo della condizione ha un'altezza diversa dall'array.
Correzione: Assicurati che entrambi coprano le stesse righe, ad esempio A2:A6 e B2:B6.
Domande frequenti
FILTER può restituire intere righe?
Sì. Dagli più colonne, ad esempio =FILTRO(A2:D6;B2:B6="Nord"), e il risultato si riversa in orizzontale e in verticale.
Come ordino l'elenco filtrato?
Avvolgilo in DATI.ORDINA (Inglese: SORT): =DATI.ORDINA(FILTRO(C2:C6;B2:B6="Nord");1;-1).
Funzioni correlate
- SORTSORT restituisce una copia ordinata di un intervallo che si aggiorna quando cambiano i dati, in ordine crescente o decrescente, per qualsiasi colonna.
- UNIQUEUNIQUE restituisce ogni valore di un elenco una sola volta, eliminando i duplicati con una formula che si aggiorna da sola.
- XLOOKUPXLOOKUP cerca in una colonna o riga e restituisce il valore corrispondente da un'altra, in qualsiasi direzione, con un messaggio «non trovato» integrato.
- SUMIFSSUMIFS somma i valori che soddisfano più condizioni contemporaneamente, come gli ordini pagati di una regione.