|
Login
Creare un report con dati sempre ordinati - prima parte
(2 VOTITALY_VOTES, VOTITALY_AVERAGE: 4.00 VOTITALY_OUTOF)
Tips and Tricks - Formule

Nel presentare un Report relativo a 10 elementi (prodotti, aziende, mercati ecc.) è sempre buona norma ordinare i dati dal più grande al più piccolo. La maggior parte degli utenti usa l'ordinamento fisico dal menu Dati, ma quando il Report diventa ricorrente, conviene usare una tecnica un po' più raffinata.

 

Immaginiamo di avere i nomi dei 10 prodotti più venduti nelle celle A1:A10 e il fatturato nelle celle B1:B10: vogliamo rappresentare i dati in senso decrescente. La prima cosa da fare è valutare qual è il ranking di questi valori (cioé un valore progressivo da 1 a n che stabilisca qual è il valore più alto). Per farlo usiamo la funzione RANGO() che consta di tre argomenti:

=RANGO(numrif; [ordine])


Dove num è il valore da valutare, rif è il gruppo di valori con il quale confrontare num eordine è un valore facoltativo che indica se ordinare in senso decrescente (0) o crescente (qualunque valore diverso da zero). Se il senso è decrescente RANGO assegnerà 1 al valore più alto.

Purtroppo due valori identici otterranno lo stesso punteggio e questo complica le cose. Per evitare questi problemi basta aggiungere a tutti i valori un valore infinitesimo che li distingua. Possiamo farlo aggiungendo CASUALE()/1000000 o RIF.RIGA()/1000000. Il secondo caso è preferibile perché l'ordine sarà sempre lo stesso.

Nella colonna C quindi scriviamo:

=A1+RIF.RIGA()/1000000

 

Nella colonna C potremo finalmente scrivere:

=RANGO(C1; $C$1:$C$10)