Menu

DATI.ORDINA e DATI.ORDINA.PER in Excel: ordinare con formula

=DATI.ORDINA(A2:C7;3;-1) restituisce la tabella A2:C7 ordinata per la terza colonna, dalla più grande, e continua a riordinarla quando i dati cambiano. DATI.ORDINA.PER ordina in base a qualsiasi intervallo, anche più colonne e un ordine personalizzato.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

=DATI.ORDINA(A2:C7;3;-1) restituisce la tabella A2:C7 ordinata per la terza colonna, le vendite, dalla più grande alla più piccola. La tabella originale resta com'è; la copia ordinata si espande dalla cella della formula e si riordina da sola quando un numero cambia. Cambia C7 in 300 e Finn sale in cima. In inglese DATI.ORDINA si chiama SORT, ed è così che la mostra la tabella: =SORT(A2:C7,3,-1). Puoi scrivere le formule anche in italiano, con il punto e virgola.

Vendite dalla più alta alla più bassa
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATI.ORDINA(A2:C7;3;-1)

Sintassi di DATI.ORDINA

=SORT(array, [sort_index], [sort_order], [by_col])
  • array è l'intervallo da ordinare e restituire.
  • sort_index è il numero della colonna dentro array in base a cui ordinare. Il valore predefinito è 1.
  • sort_order è 1 per l'ordine crescente (il predefinito) o -1 per quello decrescente.
  • by_col è FALSO (il predefinito) per ordinare le righe, VERO per ordinare le colonne da sinistra a destra.

DATI.ORDINA e DATI.ORDINA.PER (in inglese SORTBY) richiedono Excel 2021, Excel 2024 o Microsoft 365; le versioni precedenti mostrano #NOME? (in inglese #NAME?; la tabella mostra i nomi inglesi degli errori). Google Sheets le ha entrambe, anche se il suo SORT accetta un numero di colonna e VERO o FALSO a coppie.

L'ordine crescente mette prima i numeri, poi il testo dalla A alla Z, poi FALSO e VERO. Il testo viene confrontato senza badare alle maiuscole. Le celle vuote di array tornano come 0 nel risultato.

Come mettere in ordine alfabetico in Excel

Per riordinare un elenco sul posto, fai clic su una sua cella qualsiasi e scegli Dati > Ordina dalla A alla Z (o dalla Z alla A). Se l'elenco ha colonne vicine, Excel ordina l'intera tabella così ogni riga resta unita. Usa Dati > Ordina per più di una colonna o per un elenco personalizzato.

Per mantenere l'ordine originale e avere una copia alfabetica che si aggiorna da sola, usa DATI.ORDINA senza altri argomenti:

Nomi dalla A alla Z
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATI.ORDINA(A2:A8)

Scrivi Abe in A3 e compare per primo. =DATI.ORDINA(A2:A8;;-1) dà l'ordine dalla Z alla A; i due separatori consecutivi saltano sort_index. Per mettere in ordine alfabetico un elenco senza ripetizioni, ordina il risultato di UNICI: =DATI.ORDINA(UNICI(A2:A8)) (vedi UNICI).

DATI.ORDINA.PER: ordinare per una colonna che non restituisci

DATI.ORDINA può ordinare solo in base a una colonna dell'intervallo che restituisce. DATI.ORDINA.PER prende la chiave di ordinamento come intervallo separato, quindi puoi restituire solo i nomi, ordinati per vendite:

Nomi ordinati per vendite
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATI.ORDINA.PER(A2:A7;C2:C7;-1)

Il risultato è Cara, Dan, Ann, Eve, Ben, Finn. La sintassi è =DATI.ORDINA.PER(array; by_array1; [sort_order1]; [by_array2; sort_order2]; ...). Ogni by_array deve avere tante righe quante array, altrimenti DATI.ORDINA.PER restituisce #VALORE!.

Per una top 3, prendi le prime righe del risultato: =INCLUDI(DATI.ORDINA.PER(A2:A7;C2:C7;-1);3) restituisce Cara, Dan e Ann. INCLUDI (in inglese TAKE) richiede Microsoft 365 o Excel 2024; in Excel 2021 usa =INDICE(DATI.ORDINA.PER(A2:A7;C2:C7;-1);SEQUENZA(3)).

Ordinare per più colonne

Dai a DATI.ORDINA.PER una coppia di chiave e ordine per ogni livello. Questa formula ordina per regione dalla A alla Z, poi dentro ogni regione per vendite dalla più alta alla più bassa:

Regione dalla A alla Z, poi vendite dalla più alta
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATI.ORDINA.PER(A2:C7;B2:B7;1;C2:C7;-1)

Prima viene East, poi le tre righe North come Cara (200), Ann (120) e Finn (60), poi South. DATI.ORDINA può fare lo stesso con matrici di numeri di colonna e di ordini, anche se DATI.ORDINA.PER si legge più facilmente:

=SORT(A2:C7,{2,3},{1,-1})

Questa è la forma inglese: i separatori dentro le parentesi graffe dipendono dalle impostazioni internazionali.

Ordinare in un ordine personalizzato

L'ordine alfabetico non è sempre quello che vuoi. Per ordinare le regioni come North, East, South, trasforma ogni regione nella sua posizione in quell'elenco con CONFRONTA e ordina per le posizioni:

Prima North, poi East, poi South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

CONFRONTA (in inglese MATCH) restituisce 1 per North, 2 per East e 3 per South, e DATI.ORDINA.PER ordina in base a quei numeri. Le righe con la stessa chiave mantengono il loro ordine originale, quindi le righe North restano Ann, Cara, Finn. Lo stesso trucco ordina mesi o giorni della settimana per nome: elencali in ordine di calendario dentro CONFRONTA. Una regione che manca dall'elenco riceve #N/D da CONFRONTA; usa IFERROR(MATCH(B2:B7,{"North","East","South"},0),99) (forma inglese, per le parentesi graffe) come chiave per mettere quelle righe in fondo.

Esercizio: nomi ordinati per vendite

Tocca a te
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: In E2, restituisci solo i nomi, ordinati per vendite dalla più alta alla più bassa.

La funzione DATI.ORDINA o il pulsante Ordina

Entrambi ordinano, ma fanno lavori diversi:

Dati > OrdinaDATI.ORDINA e DATI.ORDINA.PER
Cambia la tabella originaleSìNo, il risultato va in nuove celle
Si aggiorna quando i dati cambianoNo, va riordinataSì
Funziona in Excel 2019 e precedentiSìNo
Il risultato si può modificare cella per cellaSìNo, è una sola formula
Si può racchiudere in un'altra formulaNoSì, per esempio =INCLUDI(DATI.ORDINA(A2:C7;3;-1);3)

Usa il pulsante per sistemare una tabella una volta. Usa la funzione per un report o una dashboard che deve restare ordinata mentre i dati cambiano. Se le celle sotto o a destra della formula non sono vuote, la funzione mostra #ESPANSIONE! invece dell'elenco ordinato; svuotale e l'elenco compare (vedi errore #ESPANSIONE!).

Domande frequenti

Come ordino i dati con una formula in Excel?

Usa DATI.ORDINA: =DATI.ORDINA(A2:C7;3;-1) restituisce A2:C7 ordinata per la terza colonna, dalla più grande. Ometti gli ultimi due argomenti, =DATI.ORDINA(A2:A8), per ordinare per la prima colonna dal più piccolo al più grande, o dalla A alla Z per il testo.

Che differenza c'è tra DATI.ORDINA e DATI.ORDINA.PER?

DATI.ORDINA ordina in base a una colonna dell'intervallo che restituisce, scelta per numero. DATI.ORDINA.PER ordina in base a qualsiasi intervallo tu le dia, anche uno che non restituisci: =DATI.ORDINA.PER(A2:A7;C2:C7;-1) restituisce solo i nomi, ordinati per vendite. DATI.ORDINA.PER accetta anche più chiavi di ordinamento direttamente.

Come metto un elenco in ordine alfabetico in Excel?

Seleziona una cella dell'elenco e fai clic su Dati > Ordina dalla A alla Z per riordinarlo sul posto. Per tenere l'originale e avere una copia ordinata che si aggiorna, scrivi =DATI.ORDINA(A2:A8) in una cella vuota; usa =DATI.ORDINA(A2:A8;;-1) per l'ordine dalla Z alla A.

Come ordino per due colonne con una formula?

Dai a DATI.ORDINA.PER due coppie di chiave e ordine: =DATI.ORDINA.PER(A2:C7;B2:B7;1;C2:C7;-1) ordina per regione dalla A alla Z e, dentro ogni regione, per vendite dalla più alta alla più bassa.

Quali versioni di Excel hanno DATI.ORDINA e DATI.ORDINA.PER?

Excel 2021, Excel 2024 e Microsoft 365. In Excel 2019 e precedenti mostrano #NOME?, e per ordinare si usa il pulsante Ordina della scheda Dati.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA