Excel Formulas Academy · Lezione

Filtrare i dati con FILTER

Restituisca dinamicamente solo le righe che soddisfano le condizioni

Lezione 2 di 413 passaggi

Filtrare i dati con FILTER è una lezione Excel Formulas Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Excel Formulas Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Excel Formulas Academy include 4 lezioni in totale.

Cosa fa FILTER

The FILTER function returns only the rows of a range that meet a condition you set. Instead of manually hiding rows or copying matches, FILTER spills the matching rows automatically.

It is dynamic: when your data changes, the filtered output updates instantly. This makes it perfect for live reports that always show the current matches.

La sintassi di FILTER

FILTER accetta fino a tre argomenti:

=FILTER(array, include, [if_empty])

  • array è l'intervallo da restituire.
  • include è un test logico che produce TRUE o FALSE per ogni riga.
  • if_empty è un valore facoltativo da visualizzare quando non viene trovata alcuna corrispondenza.

Il test include deve avere la stessa altezza dell'array, in modo che ogni riga riceva un valore TRUE o FALSE.

=FILTER(array, include, [if_empty])

Un semplice FILTER

Supponiamo che A2:A10 contenga i nomi dei commerciali e B2:B10 la rispettiva area. Per elencare solo i nomi dell'area East:

=FILTER(A2:A10, B2:B10="East")

Il test B2:B10="East" produce una colonna di valori TRUE e FALSE. FILTER mantiene le righe per cui il risultato è TRUE e le espande.

=FILTER(A2:A10, B2:B10="East")

Restituire più colonne

L'array può avere più di una colonna. Per restituire sia il nome sia l'importo delle vendite per l'area East, indicate come array l'intero blocco:

=FILTER(A2:C10, B2:B10="East")

FILTER restituisce tutte le colonne delle righe corrispondenti, espandendo una piccola tabella. Il test include considera comunque una sola colonna di condizioni.

=FILTER(A2:C10, B2:B10="East")

Condizioni numeriche

Le condizioni non si limitano al testo. Per restituire tutte le righe in cui le vendite in C2:C10 superano 500:

=FILTER(A2:C10, C2:C10>500)

Gli operatori di confronto, come maggiore di, minore di e diverso da, funzionano tutti nell'argomento include, proprio come in un normale test logico.

=FILTER(A2:C10, C2:C10>500)

Combinare condizioni con la logica AND

Per richiedere contemporaneamente due condizioni, moltiplicate i test tra loro. La moltiplicazione agisce come AND perché TRUE vale 1 e FALSE vale 0: una riga supera il test solo quando entrambi i valori sono 1.

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

Questa formula restituisce le righe dell'area East che hanno anche vendite superiori a 500. Racchiudete ogni test tra parentesi.

=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))

Combinare condizioni con la logica OR

Per accettare una riga quando è vera almeno una delle due condizioni, sommate i test tra loro. L'addizione agisce come OR perché la somma è almeno 1 quando uno dei test è TRUE.

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

Questa formula restituisce le righe dell'area East o West. Una riga con punteggio 1 o 2 viene mantenuta, mentre una riga con punteggio 0 viene esclusa.

=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))

Gestire l'assenza di corrispondenze

Se nessuna riga soddisfa la condizione, FILTER restituisce per impostazione predefinita l'errore #CALC!. Il terzo argomento facoltativo evita l'errore visualizzando invece un messaggio comprensibile:

=FILTER(A2:C10, B2:B10="South", "No matches found")

Se l'area South non esiste, la cella mostra il testo invece dell'errore. Nei report reali, aggiungete sempre un valore if_empty.

=FILTER(A2:C10, B2:B10="South", "No matches found")

Filtrare in base al valore di una cella

Per un report interattivo, confrontate i dati con una cella invece che con un valore fisso. Se E1 contiene l'area scelta dall'utente:

=FILTER(A2:C10, B2:B10=E1, "No matches")

Modificate E1 in West e l'elenco espanso si aggiornerà immediatamente mostrando le righe di West. Questa è la base di una dashboard controllata da un elenco a discesa.

=FILTER(A2:C10, B2:B10=E1, "No matches")

Ordinare i risultati filtrati

FILTER restituisce le corrispondenze nell'ordine originale. Per ordinarle, inserite FILTER all'interno di SORT. Per visualizzare le righe dell'area East ordinate per vendite in ordine decrescente:

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

SORT ordina la tabella espansa in base alla terza colonna; -1 indica l'ordine decrescente. Combinare in questo modo le funzioni che espandono i risultati è comune e molto efficace.

=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)

FILTER in Google Sheets

FILTER funziona sia in Excel 365 sia in Google Sheets, con una sintassi quasi identica. In Google Sheets potete passare più condizioni come argomenti separati invece di moltiplicarle:

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

Sheets considera ogni argomento aggiuntivo come una condizione AND. In Excel, invece, dovete usare l'approccio moltiplicazione-per-AND e addizione-per-OR all'interno dell'unico argomento include.

=FILTER(A2:C10, B2:B10="East", C2:C10>500)

Verifica rapida

Verificate la vostra comprensione di FILTER.

Riepilogo: filtrare con FILTER

Avete imparato a restituire solo le righe corrispondenti con FILTER:

  • La sintassi è =FILTER(array, include, [if_empty]).
  • Il test include deve avere la stessa altezza dell'array.
  • Moltiplicate i test per AND e sommateli per OR.
  • Aggiungete un messaggio if_empty per evitare gli errori #CALC!.
  • Inserite FILTER all'interno di SORT per ordinare i risultati.

Ora imparerete a estrarre un elenco di valori distinti con UNIQUE.

Gratis per iniziare

Impara Excel con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Filtrare i dati con FILTER» è gratuita?

Sì — il testo completo di «Filtrare i dati con FILTER» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Excel Formulas Academy, passa a CoddyKit PRO. Il corso Excel Formulas Academy include 4 lezioni in totale.

Cosa imparerò in «Filtrare i dati con FILTER»?

Restituisca dinamicamente solo le righe che soddisfano le condizioni Eserciti Excel Formulas Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Excel Formulas Academy?

Non è richiesta alcuna esperienza precedente. Excel Formulas Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Filtrare i dati con FILTER»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Excel Formulas Academy?

Sì. Ogni lezione Excel Formulas Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Che cosa significa lo spill
  2. Filtrare i dati con FILTER
  3. Rimuovere i duplicati con UNIQUE
  4. Gestire l'errore SPILL
← Torna a Excel Formulas Academy