www.valterborsato.it

Applicare la Funzione di matrice dinamica DATI.ORDINA

La Funzione di matrice dinamica DATI.ORDINA consente di ordinare il contenuto di un intervallo dati-tabella; restituendo i dati ordinati in una matrice dinamica che si espande a partire dalla cella nella quale è stata impostata la Funzione.

Per definizione, le Funzioni di Excel che possono restituire matrici di dimensioni variabili, sono indicate come Funzioni di matrice dinamica.
La Funzione DATI.ORDINA, non è disponibile nella versione 2019 di Excel ma solo nella 365 a partire da luglio 2020.
(Precedentemente è stata per alcuni mesi disponibile nella versione Excel 365 Insider con il comando inglese non tradotto: SORT)

La Funzione DATI.ORDINA trova ulteriori interessanti applicazioni se combinata con altre Funzioni di matrice dinamica come ad esempio la Funzione UNICI e FILTRO.
:: La Funzione DATI.ORDINA, nel 2020 è stata sviluppata in una nuova Funzione DATI.ORDINA.PER che premette di definire anche più criteri di ordinamento dei dati. Per spiegazioni ed esempi si rimanda a: La Funzione DATI.ORDINA.PER

Contenuti tutorial la Funzione DATI.ORDINA

[1] - Sintassi e introduzione della Funzione DATI.ORDINA
[2] - Applicare la Funzione DATI.ORDINA (due esempi di applicazione)
[3] - Annidare la Funzione DATI.ORDINA nella Funzione FILTRO
[4] - DATI.ORDINA: Creare una matrice ordinata per due o più colonne

Sintassi della Funzione DATI.ORDINA

La Funzione DATI.ORDINA (nome inglese della funzione SORT) consente di ordinare in maniera crescente o decrescente il contenuto di un intervallo o una matrice.
Sintassi della Funzione:
=DATI.ORDINA(matrice; [ndice_ordinamento]; [tipo_ordinamento]; [per_col])

Nella quale:
matrice: (argomento obbligatorio) rappresenta la matrice o intervallo di dati da ordinare.
indice_ordinamento: (argomento facoltativo), rappresenta la colonna rispetto la quale si vogliono ordinare i dati (indice 1 la prima colonna della tabella indice 2 la seconda ......)
tipo_ordinamento: (argomento facoltativo) è possibile impostare l'ordinamento in maniera crescente (codice 1) o decrescente (codice -1)
per_col: (argomento facoltativo) impostazione rappresentata da un valore logico che indica la direzione di ordinamento desiderata. FALSO per ordinare per riga (impostazione predefinita), VERO per ordinare per colonna.
Nell'impostazione VERO di questo argomento è pertanto possibile ottenere la restituzione della colonna indicata nell'indice ordinamento come prima colonna della matrice restituita.

Applicare la Funzione DATI.ORDINA

Nella tabella illustrata nella sottostante immagine, si vogliono ordinare le 40 città italiane con il maggior numero di abitanti in un ordine crescente dalla più piccola alla più grande.
Allo scopo nella cella E2 è stata inserita la funzione:

=DATI.ORDINA(A2:C41;3;1)

Nella quale il primo argomento (A2:C41) rappresenta l'intervallo dati matrice (Città; Regione; Abitanti)
Il secondo argomento (valore 3) rappresenta l'indice che si vuole considerare per l'ordinamento dei dati, indice 3 si riferisce pertanto alla terza colonna della tabella, ovvero il numero di abitanti. Infine l'impostazione del terzo argomento con il codice 1, definisce l'ordinamento dati crescente dalla più piccola alla più grande.
Una volta inserita la Funzione DATI.ORDINA nella cella E2, a partire da questa cella inizia l'espansione del risultato nelle colonne E F e G e fino alla riga numero 41. In questa nuova matrice le 40 città sono state ordinate dalla più piccola (Vicenza) fino alla più grande (Roma).

Matrici Dinamiche: La Funzione DATI.ORDINA - applicare la Funzione DATI.ORDINA

Secondo esempio di applicazione della Funzione DATI.ORDINA (impostazione del 4 argomento della Funzione)

Nella Funzione di cui sopra, non è stato definito il quarto argomento della Funzione che serve per indicare la direzione di ordinamento desiderata delle colonne. il quarto argomento ha una impostazione di tipo logico: VERO - FALSO.
Passiamo pertanto a definire questo quarto argomento.
Se il quarto argomento non venisse definito per default risulta essere impostato come FALSO. In questo caso la disposizione del risultato mantiene lo stesso ordine di impostazione di colonna della base dati.
Qualora come quarto argomento si impostasse VERO, la colonna sulla quale è stato impostato l'ordinamento verrebbe presentata per prima (Città; Regione e per ultimo Abitanti) -Vedi immagine sottostante-
::Notare che per passare alla definizione del quarto argomento (escludendo il terzo) è stato inserito due volte il separatore punto e virgola.

Matrici Dinamiche: La Funzione DATI.ORDINA - applicare la Funzione DATI.ORDINA

Annidare la Funzione DATI.ORDINA nella Funzione FILTRO

Come anticipato nell'introduzione, la Funzione DATI.ORDINA, trova particolare interessa nella nidificazione con altre Funzioni quali ad esempio FILTRO o UNICO. anche queste due funzioni sono ovviamente Funzioni di matrice dinamica.
Nell'esempio proposto nella successiva immagine, oltre ad ordinare i dati si vuole filtrarli rispetto una specifica regione (es. Veneto).
Nella cella I3 è stata inserita la seguente formula:

=DATI.ORDINA(FILTRO(A2:C41;B2:B41="Veneto");1;1)

In questo caso la Funzione FILTRO risulta essere il primo argomento della Funzione DATI.ORDINA
La Funzione Filtro definisce due soli argomenti la matrice dati, e il criterio che deve essere cercato nella colonna B.
Sulla matrice che viene restituita da questa ricerca-filtro (I3:K5) viene applicata la Funzione DATI.ORDINA impostando che sia la colonna 1 (indice 1) ad essere ordinata (ovvero le città in ordine alfabetico) e nel successivo argomento (sempre codice 1) in maniera crescenza dalla A alla Z.

Per un approfondimento della Funzione di matrice dinamica Filtro: La Funzione Filtro di Excel

Matrici Dinamiche: La Funzione DATI.ORDINA - Nidificare la funzione  DATI.ORDINA

DATI.ORDINA: Creare una matrice ordinata per due o più colonne

Con la Funzione DATI.ORDINA, sembrerebbe impossibile poter definire più livelli di ordinamento. In realtà l'operazione si realizza inserendo nell'indice_ordinamento anzichè un riferimento ad una colonna, un riferimento ad una matrice di indici.

Esempio. Nell'immagine sottostante, la tabella a sinistra la si vuole ordinare innanzitutto per regione; nel caso di regioni uguali per venditore e nel caso che entrambe le prime due colonne siano uguali per settore.
La Funzione imputata nella cella F3 è la seguente:
=DATI.ORDINA(A2:D31;{1.2.3};1)

Importante osservare che se si vuole ordinare i dati rispetto più colonne, i riferimenti agli indici delle colonne vanno inseriti fra parentesi graffe {1.2.3} intervallati con un punto, e nell'ordine esatto in cui devono essere ordinati.

 DATI.ORDINA: Creare una matrice ordinata per due o più colonne

Indice Generale Argomenti: EXCEL

[Valter Borsato: Luglio 2020  | Ultimo aggiornamento 09/02/2024]