Guide di Excel

Matrici dinamiche in Excel: FILTRO, DATI.ORDINA e UNICI spiegati

Impara a usare FILTRO, DATI.ORDINA e UNICI per estrarre, ordinare e ripulire i dati con un'unica formula che si aggiorna da sola.

Matrici dinamiche in Excel: FILTRO, DATI.ORDINA e UNICI spiegati

Per anni, estrarre da una tabella solo le vendite di una zona, ordinarle o ottenere un elenco senza ripetizioni richiedeva filtri manuali, tabelle pivot o formule lunghissime da copiare riga per riga. Con le matrici dinamiche, un’unica formula scritta in una cella restituisce un intero intervallo di risultati, che si aggiorna quando cambiano i dati.

Qui vedrai come funzionano FILTRO, DATI.ORDINA e UNICI, come combinarle e cosa fare quando compare un errore di espansione. Tutti gli esempi usano la stessa tabella, così puoi riprodurli in un paio di minuti.

Cosa sono le matrici dinamiche e quale versione di Excel serve

Una matrice dinamica è il risultato di una formula che occupa più celle. Scrivi la formula nella prima cella ed Excel «espande» i risultati verso il basso e verso destra, su tutte le righe e le colonne necessarie. Se i dati di origine cambiano, l’intervallo dei risultati si adegua automaticamente.

Queste funzioni sono disponibili in Excel per Microsoft 365, Excel 2021 e versioni successive ed Excel per il Web. In Excel 2019 o versioni precedenti non esistono: se apri lì un file che le usa, vedrai l’errore #NOME? oppure valori fissi che non vengono più ricalcolati.

Prima di iniziare, tieni presenti tre regole:

  • La formula si scrive solo nella prima cella. Il resto del risultato appare circondato da un bordo blu quando lo selezioni.
  • Non puoi modificare né cancellare una singola cella dell’intervallo espanso. Per cambiare qualcosa, modifica la formula di origine.
  • Per fare riferimento all’intero risultato da un’altra formula si usa l’operatore # dopo la prima cella, per esempio F2#.

La tabella di esempio

Copia questi dati in un nuovo foglio, partendo dalla cella A1. Le formule delle sezioni seguenti lavorano sull’intervallo A2:D9.

Cliente Prodotto Zona Importo
Cliente A Tastiera Nord 320
Cliente B Monitor Sud 890
Cliente C Mouse Nord 45
Cliente A Monitor Est 910
Cliente D Portatile Nord 1250
Cliente B Tastiera Sud 310
Cliente E Mouse Est 60
Cliente C Monitor Nord 870

FILTRO: estrarre solo le righe che soddisfano una condizione

La sintassi è FILTRO(matrice; includi; [se_vuoto]). Il primo argomento è l’intervallo da restituire, il secondo una condizione valutata riga per riga e il terzo, facoltativo, indica cosa mostrare se nessuna riga soddisfa la condizione.

Per ottenere tutte le vendite della zona Nord:

=FILTRO(A2:D9;C2:C9="Nord";"Nessun risultato")

Il risultato sono quattro righe complete (Cliente A, Cliente C, Cliente D e di nuovo Cliente C) con tutte e quattro le colonne.

Più condizioni contemporaneamente

Nell’argomento includi non funzionano E né O, perché queste funzioni restituiscono un solo valore e non uno per riga. Al loro posto, ogni condizione si scrive tra parentesi e le condizioni si combinano con operazioni:

  • Perché siano soddisfatte tutte (logica E), moltiplica: (C2:C9="Nord")*(D2:D9>500).
  • Perché ne sia soddisfatta almeno una (logica O), somma: (C2:C9="Nord")+(C2:C9="Sud").

Vendite della zona Nord superiori a 500:

=FILTRO(A2:D9;(C2:C9="Nord")*(D2:D9>500);"Nessun risultato")

Restituisce due righe: Cliente D con 1250 e Cliente C con 870.

DATI.ORDINA: ordinare i risultati senza toccare i dati originali

La sintassi è DATI.ORDINA(matrice; [indice_ordinamento]; [ordine_ordinamento]; [per_col]). L’indice indica in base a quale colonna della matrice ordinare (1 è la prima) e l’ordine vale 1 per crescente, il valore predefinito, oppure -1 per decrescente.

=DATI.ORDINA(A2:D9;4;-1)

Restituisce l’intera tabella ordinata per importo dal più alto al più basso: prima Cliente D (1250), poi Cliente A (910), Cliente B (890) e così via fino a Cliente C con 45. La tabella originale mantiene il suo ordine.

Ordinare il risultato di un filtro

Poiché FILTRO restituisce una matrice, puoi passarla direttamente a DATI.ORDINA. Ottieni così le vendite del Nord dall’importo più alto al più basso:

=DATI.ORDINA(FILTRO(A2:D9;C2:C9="Nord");4;-1)

UNICI: elenchi senza ripetizioni con una sola formula

La sintassi è UNICI(matrice; [per_col]; [una_sola_volta]). Nella forma più semplice restituisce ogni valore distinto una sola volta, nell’ordine in cui compare per la prima volta:

=UNICI(B2:B9)

Il risultato è Tastiera, Monitor, Mouse e Portatile.

Valori che compaiono esattamente una volta

Il terzo argomento cambia il comportamento: con VERO restituisce solo i valori che non si ripetono mai. Nota il doppio punto e virgola, che lascia vuoto il secondo argomento:

=UNICI(A2:A9;;VERO)

Restituisce Cliente D e Cliente E, cioè i clienti con un solo acquisto.

Contare i valori distinti

Se racchiudi UNICI in CONTA.VALORI, ottieni quanti elementi diversi ci sono. Questa formula restituisce 3, perché ci sono tre zone diverse:

=CONTA.VALORI(UNICI(C2:C9))

Combinare le tre funzioni: un riepilogo per zona

La vera potenza emerge quando le annidi. Per esempio, per vedere quali prodotti sono stati venduti nella zona Sud, senza ripetizioni e in ordine alfabetico:

=DATI.ORDINA(UNICI(FILTRO(B2:B9;C2:C9="Sud")))

Il risultato è Monitor e Tastiera. Con la stessa logica puoi creare un piccolo riepilogo delle vendite per zona che cresce da solo:

  1. In F1 scrivi l’intestazione Zona e in G1 l’intestazione Totale.
  2. In F2 scrivi =DATI.ORDINA(UNICI(C2:C9)). Compariranno Est, Nord e Sud.
  3. In G2 scrivi =SOMMA.SE(C2:C9;F2#;D2:D9). L’operatore # fa sì che la somma venga calcolata per ogni zona dell’elenco espanso.
  4. Controlla i totali: Est 970, Nord 2485 e Sud 1200.

Se nei dati compare una nuova zona, l’elenco in F2 si allunga e la colonna G lo segue senza copiare alcuna formula.

Errori comuni e come risolverli

  • #ESPANSIONE!: nell’intervallo in cui devono comparire i risultati c’è qualcosa (un valore, una formula o anche solo uno spazio) oppure ci sono celle unite. Selezionando la formula, un bordo tratteggiato indica la zona necessaria. Svuotala o sposta la formula.
  • #CALC!: FILTRO non ha trovato alcuna riga e non hai indicato il terzo argomento. Aggiungi un testo come “Nessun risultato” oppure delle virgolette vuote.
  • #VALORE!: la matrice e la condizione hanno un numero di righe diverso, per esempio A2:D9 rispetto a C2:C10.
  • Formula dentro una tabella di Excel: le formule che si espandono non funzionano all’interno di una tabella creata con Ctrl+T. Posizionale all’esterno; possono comunque leggere i dati della tabella.

Quando serve pulire il file, non solo consultarlo

UNICI è perfetta per consultare i valori distinti, ma non elimina le righe ripetute dal file originale: la tabella di origine resta invariata. Se devi consegnare un file pulito, o usi una versione di Excel senza matrici dinamiche, puoi usare il nostro strumento gratuito per rimuovere i duplicati: carichi il file xlsx, xls, csv o ods e scarichi una copia senza righe ripetute. E se vuoi verificare quali righe sono state eliminate, puoi confrontare il file originale con quello pulito.

Conclusione

FILTRO, DATI.ORDINA e UNICI sostituiscono molte attività che prima richiedevano filtri manuali o formule copiate riga per riga. Scrivi una formula, lascia spazio libero per il risultato e sfrutta l’operatore # per concatenare i calcoli. Parti dagli esempi di questa guida applicandoli ai tuoi dati e, in pochi giorni, creerai report che si aggiornano da soli.

Domande frequenti

Posso usare FILTRO, DATI.ORDINA e UNICI in Excel 2016 o 2019?

No. Sono disponibili solo in Excel per Microsoft 365, Excel 2021 o successivo ed Excel per il Web. Nelle versioni precedenti puoi ottenere qualcosa di simile con il filtro avanzato (Dati › Avanzate), che permette di copiare solo i record univoci in un’altra posizione, anche se il risultato non si aggiorna da solo.

I risultati si aggiornano quando aggiungo nuove righe?

Si aggiornano quando cambiano i dati all’interno dell’intervallo indicato. Se la formula usa A2:D9 e scrivi una vendita nella riga 10, non la vedrà. Per evitarlo, trasforma i dati in tabella e usa riferimenti strutturati.

UNICI distingue tra maiuscole e minuscole?

No. «Nord» e «nord» sono considerati lo stesso valore. Invece uno spazio finale crea un valore diverso, quindi conviene eliminare gli spazi superflui con la funzione ANNULLA.SPAZI prima di cercare i valori univoci.

Come trasformo il risultato in valori fissi?

Seleziona l’intervallo espanso, copialo e usa Incolla speciale › Valori in un’altra posizione. Otterrai una copia statica che non dipende più dalla formula.

Prova i nostri strumenti gratuiti

Confronta, converti, unisci e pulisci i tuoi fogli di calcolo dal browser, senza installare nulla.

Vedi tutti gli strumenti
Torna in alto