0Pricing
Excel Formulas Academy · Lezione

Ordinare in base a un'altra colonna con SORTBY

Ordinare un array usando i valori di un altro array

Ordinare in base a un'altra colonna con SORTBY è una lezione Excel Formulas Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Excel Formulas Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Excel Formulas Academy include 4 lezioni in totale.

Perché esiste SORTBY

SORT ordina i dati in base a una colonna inclusa nell'array. Ma cosa succede se vuole ordinare un elenco in base ai valori di un array separato, che non fa parte dell'output?

È esattamente ciò che fa SORTBY. Ordina un intervallo utilizzando l'ordine di intervalli completamente diversi, consentendo ordinamenti flessibili con più chiavi senza includere le colonne di ordinamento nei risultati.

=SORTBY(A2:A10, B2:B10)

La sintassi di SORTBY

La struttura di SORTBY è:

  • array i dati da restituire, in ordine ordinato
  • by_array1 i valori che determinano l'ordine
  • sort_order1 1 per l'ordine crescente, -1 per quello decrescente (facoltativo)

Può continuare ad aggiungere coppie by_array / order per ordinare in base a più chiavi. Ogni by_array deve avere la stessa altezza (o larghezza) dell'array da ordinare.

=SORTBY(array, by_array1, [order1], [by_array2], [order2], ...)

Ordinare i nomi in base a un punteggio nascosto

Supponga che A2:A10 contenga i nomi dei giocatori e B2:B10 i relativi punteggi. Desidera un elenco di nomi ordinato per punteggio, dal più alto, ma vuole visualizzare solo i nomi.

SORTBY restituisce soltanto i nomi, ordinati in base all'array dei punteggi. I punteggi non compaiono mai nell'output.

=SORTBY(A2:A10, B2:B10, -1)

SORTBY e SORT a confronto

La differenza fondamentale è questa: con SORT, la colonna in base alla quale ordina fa parte del risultato. Con SORTBY, la chiave di ordinamento si trova in un array separato e non viene restituita.

  • Utilizzi SORT quando la colonna di ordinamento deve comparire nell'output
  • Utilizzi SORTBY quando desidera un output pulito, ordinato in base a un criterio non visualizzato
=SORTBY(A2:A10, C2:C10, 1)

Ordinare un'intera tabella in base a una colonna esterna

L'array restituito può contenere più colonne. Supponga che A2:B10 contenga Nome ed Email e che C2:C10 contenga un numero di priorità.

SORTBY restituisce la tabella Nome/Email ordinata per priorità, anche se la priorità non viene mai mostrata nel risultato.

=SORTBY(A2:B10, C2:C10, 1)

Ordinare in base a più chiavi

Aggiunga altre coppie by_array / order per risolvere i pareggi. SORTBY le applica nell'ordine indicato: la prima chiave determina il primo ordinamento, la seconda risolve eventuali parità e così via.

In questo caso la tabella viene ordinata per Area crescente e poi per Vendite decrescente all'interno di ogni area.

=SORTBY(A2:C20, B2:B20, 1, C2:C20, -1)

Ordinare in base a un array calcolato

Il by_array non deve necessariamente essere una colonna memorizzata. Può ordinare in base a un calcolo eseguito al momento.

Immagini che A2:A10 contenga i nomi dei prodotti, B2:B10 i prezzi e C2:C10 i costi. Per ordinare i prodotti in base al margine di profitto senza memorizzarlo da nessuna parte, calcoli il margine all'interno di SORTBY.

=SORTBY(A2:A10, B2:B10-C2:C10, -1)

Mantenere gli array della stessa dimensione

Ogni by_array deve corrispondere alla lunghezza dell'array che sta ordinando. Se l'array contiene 9 righe, anche ogni by_array deve contenerne 9.

Una mancata corrispondenza genera l'errore #VALUE!. Verifichi che gli intervalli inizino e terminino nelle stesse righe.

=SORTBY(A2:A10, B2:B10, -1)

SORTBY in Google Sheets

Google Sheets supporta SORTBY con la stessa sintassi, quindi le formule sono trasferibili. Il comportamento, incluse le chiavi di ordinamento multiple e i by_array calcolati, corrisponde a quello di Excel.

Come SORT, SORTBY espande i risultati: si assicuri quindi che le celle sottostanti abbiano spazio sufficiente.

=SORTBY(A2:C20, B2:B20, 1, C2:C20, -1)

Combinare SORTBY con FILTER

Come SORT, SORTBY funziona bene con FILTER. Filtri prima per mantenere solo le righe desiderate, poi SORTBY ordina quelle rimaste.

Nota: quando filtra l'array, deve filtrare nello stesso modo anche il by_array, affinché rimangano allineati. In questo caso ordiniamo l'intera tabella in base a un intervallo di supporto filtrato solo se entrambi condividono le stesse righe; per questo spesso è più semplice filtrare il risultato di SORTBY.

=FILTER(SORTBY(A2:C20, C2:C20, -1), SORTBY(B2:B20, C2:C20, -1)="East")

Una classifica pratica

Mettiamo tutto insieme: una classifica dinamica che elenca i nomi dei giocatori ordinati per punteggio, risolvendo i pareggi con il minor numero di tentativi.

Con i nomi in A2:A20, i punteggi in B2:B20 e i tentativi in C2:C20, SORTBY ordina prima per punteggio (dal più alto) e poi per tentativi (dal più basso). Aggiorni un valore qualsiasi e l'ordine si aggiorna.

=SORTBY(A2:A20, B2:B20, -1, C2:C20, 1)

Verifica rapida

I nomi si trovano in A2:A10 e i relativi punteggi in B2:B10. Vuole restituire solo i nomi, ordinati dal punteggio più alto al più basso. Quale formula funziona?

Riepilogo: ordinare con SORTBY

SORTBY ordina un array utilizzando i valori di array separati che non vengono mostrati nel risultato:

  • =SORTBY(array, by_array1, order1, ...)
  • Aggiunga altre coppie by_array / order per ordinare in base a più chiavi
  • I by_array possono essere colonne memorizzate o calcoli dinamici
  • Ogni by_array deve corrispondere alla lunghezza dell'array

È la scelta ideale per ottenere output puliti ordinati in base a un valore non visualizzato, come in una classifica.

=SORTBY(A2:A20, B2:B20, -1, C2:C20, 1)

Domande Frequenti

La lezione «Ordinare in base a un'altra colonna con SORTBY» è gratuita?

Sì — il testo completo di «Ordinare in base a un'altra colonna con SORTBY» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Excel Formulas Academy, passa a CoddyKit PRO. Il corso Excel Formulas Academy include 4 lezioni in totale.

Cosa imparerò in «Ordinare in base a un'altra colonna con SORTBY»?

Ordinare un array usando i valori di un altro array Eserciti Excel Formulas Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Excel Formulas Academy?

Non è richiesta alcuna esperienza precedente. Excel Formulas Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Ordinare in base a un'altra colonna con SORTBY»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Excel Formulas Academy?

Sì. Ogni lezione Excel Formulas Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Ordinare i risultati con SORT
  2. Ordinare in base a un'altra colonna con SORTBY
  3. Generare numeri con SEQUENCE
  4. Creare dati casuali con RANDARRAY
← Torna a Excel Formulas Academy