www.valterborsato.it

Applicare la Funzione DATI.ORDINA.PER

Excel nella versione Microsoft 365 nel luglio 2020 ha introdotto la nuova Funzione DATI.ORDINA.PER
La Funzione di fatto sviluppa e si affianca alla precedente Funzione DATI.ORDINA e prevede la possibilità di ordinare una matrice sulla base di una o più colonne.

La Funzione DATI.ORDINA.PER appartiene alle nuove matrice dinamiche disponibili con Microsoft 365.

Il risultato dell'ordinamento dei dati è una matrice dinamica che si espande (Spill) nelle celle adiacenti e si aggiorna automaticamente qualora i dati di origine dovessero mutare.
Per definizione, le Funzioni di Excel che possono restituire matrici di dimensioni variabili sono indicate come Funzioni di matrice dinamica.
Le Funzioni di matrice dinamica permettono di restituire più risultati all'interno di un intervallo di celle del foglio di lavoro, sulla base di una formula espressa in un'unica cella. Questa espansione dei dati viene comunemente indicata come "Spill"

Sintassi della Funzione DATI.ORDINA.PER

La Funzione DATI.ORDINA.PER (nome versione inglese SORTBY) consente di ordinare il contenuto di un intervallo dati o di una matrice in una nuova tabella, sulla base dei valori di un intervallo o di una corrispondente matrice.
Sintassi della Funzione:
=DATI.ORDINA.PER(matrice; per_matrice1;[tipo_ordinamento1];[per_matrice2];[tipo_ordinamento2]; ...)

Nella quale:
matrice (argomento obbligatorio) rappresenta la matrice o intervallo dei dati da ordinare.
per_matrice1 (argomento obbligatorio) la matrice o l’intervallo in base a cui ordinare
tipo_ordinamento1 (argomento facoltativo) L'ordine da utilizzare per l'ordinamento. 1 per crescente,-1 per decrescente. Il valore predefinito è crescente.
per matrice 2 tipo_ordinamento2 ...  (argomenti facoltativi) successive matrici e intervalli di dati da ordine, e la relativa impostazione crescente o decrescente.

Osservazioni. Tutti gli argomenti della funzione (le matrici) devo avere lo stesso identico numero di righe.
Nella Funzione DATI.ORDINA.PER non è necessario che la matrice utilizzata per l'ordinamento dei dati sia presente nella matrice da ordinare.

Esempio di applicazione della Funzione DATI.ORDINA.PER

Nell'immagine sottostante è visibile una parte di una tabella (intervallo dati) di 140 righe.
A partire dalla cella F2 si vuole ordinare l'archivio in primo luogo in ordine crescente rispetto i nomi dei venditori e successivamente, sempre in ordine crescente, per regione.

Nella Cella F2 è stata inserita la Funzione:
=DATI.ORDINA.PER(A2:D140;B2:B140;1;A2:A140;1)
Nella quale B2:D140 rappresenta la matrice dati;
B2:B140 è la colonna matrice sulla quale definire il primo livello di ordinamento (1= crescente);
Qualora il venditore risultasse il medesimo, viene definita una seconda matrice A2:A140 sempre con ordinamento (1 = crescente).

Creare una classifica con la Funzione DATI.ORDINA.PER

In questo caso si vuole creare un ranking dei 50 sciatori più forti di sempre in world cup.
La Funzione applicata nella cella F2 è la seguente:
=DATI.ORDINA.PER(A2:D51;D2:D51;-1)
In questo caso viene sfruttato un solo livello di ordinamento.
La matrice da ordinare è data dall'intervallo A2:D51
La matrice sulla quale impostare l'ordinamento è la D2:D51 e l'ordinamento dei dati in questo caso è (-1 = decrescente) ovvero dal punteggio più alto al più basso.

L'ordinamento di una matrice sulla base di una sola colonna, poteva essere risolto utilizzando la Funzione DATI.ORDINE

Le Funzioni DATI.ORDINA.PER e DATI.ORDINA a confronto

Per mettere a confronto le due Funzioni, si ripropone lo stesso precedente esempio con le due diverse soluzioni.
Nella cella F2 è imputata la stessa identica Funzione dell'esempio precedente:
=DATI.ORDINA.PER(A2:D51;D2:D51;-1)
Nella cella K2 è stata inserita:
=DATI.ORDINA(A2:D51;4;-1)
In questo caso la Funzione risulta ancora più semplice poichè il primo argomento è come nel primo caso l'intera matrice tabella A2:A51:
il secondo argomento anzichè essere un riferimento di matrice è un indice, ovvero il numero della colonna sulla quale si vuole effettuare l'ordinamento (-1 = decrescente).

Le Funzioni DATI.ORDINA.PER e DATI.ORDINA a confronto

In conclusione. La Funzione DATI.ORDINA.PER può includere più ordinamenti per una matrice ed indicare un diverso ordinamento (crescente o decrescente) per ognuno dei due ordinaenti.
Viceversa la Funzione DATI.ORDINA prevede un solo indice di ordinamento.
Ricordiamoci però che stiamo trattando due Funzioni di matrice dinamica, e pertanto potremmo includere nel secondo argomento (indice) una matrice di riferimenti.
Esempio. DATI.ORDINA(matrice;{1.2.3})
:: Per un approfondimento sulla Funzione DATI.ORDINA (con esempi di applicazione) si rimanda: La Funzione DATI.ORDINA di Excel

Indice Generale Argomenti: EXCEL

[Valter Borsato: Luglio 2021  | Ultimo aggiornamento 09/02/2023]