Excel offre molti modi per ordinare i dati, ma non in una semplice soluzione con un solo clic. Ma con un po’ di ingegno, puoi creare i tuoi pulsanti per ordinare i dati. Questo articolo ti mostrerà come creare pulsanti per ordinare i tuoi dati.
Vuoi aggiungere un pulsante di ordinamento in Excel? L’ordinamento è un modo semplice per visualizzare i valori più alti o più bassi nei dati. Questa è un’attività così comune nell’analisi dei dati che avere un pulsante per fornire un metodo con un clic per ordinare i tuoi dati ti farà risparmiare tempo!
Aggiungi un pulsante di ordinamento con i filtri
Quando si dispone di un set di dati tabulare in Excel, è possibile aggiungere interruttori alle intestazioni di colonna che consentono di ordinare e filtrare i dati. Questo è il modo più semplice per aggiungere un pulsante di ordinamento ai tuoi dati che sia sempre visibile e disponibile per l’uso.
Ecco come puoi aggiungere le opzioni di ordinamento e filtro ai tuoi dati.
- Selezionare i dati da ordinare.
- Vai alla scheda Dati.
- Fare clic sul comando Filtro.
Questo aggiungerà i filtri ai tuoi dati e potrai vederli sul lato destro di ogni intestazione di colonna nei tuoi dati.
Quando fai clic su uno di questi, riveleranno le varie opzioni di ordinamento e filtro. Questi ti permetteranno di ordinare rapidamente qualsiasi campo in ordine crescente o decrescente con i comandi Ordina dal più piccolo al più grande o Ordina dal più grande al più piccolo.
Aggiungi un pulsante di ordinamento con una scorciatoia da tastiera
Gli interruttori di ordinamento e filtro possono anche essere aggiunti alla selezione dei dati con una semplice combinazione di scorciatoie. Seleziona il tuo intervallo di dati e premi la scorciatoia da tastiera Ctrl+ Shift+ Lper aggiungere gli interruttori di ordinamento e filtro. Questo è un modo semplice per aggiungere o rimuovere i filtri poiché il collegamento funge da interruttore per attivarli o disattivarli.
Aggiungi un pulsante di ordinamento con VBA
VBA è un linguaggio di codifica disponibile nella versione desktop di Excel e ti consentirà di creare soluzioni personalizzate. Puoi creare una macro VBA per ordinare i tuoi dati e assegnarli a un pulsante nel foglio.
Puoi quindi modellare il tuo pulsante in qualsiasi modo e aggiungere testo personalizzato al pulsante. Questa è un’ottima opzione quando altri useranno la cartella di lavoro in quanto aiuta a rendere l’ordinamento molto intuitivo per l’utente. Ecco come puoi creare il tuo pulsante di ordinamento con VBA.
Premi la scorciatoia da tastiera Alt+ F11per aprire l’editor di Visual Basic.
Vai al menu Inserisci dell’editor di Visual Basic e seleziona l’ opzione Modulo . Questo crea un modulo di codice in cui puoi aggiungere il tuo codice VBA che ordinerà i tuoi dati.
Sub ToggleSortOrder() Dim ascCell As Boolean ascCell = ActiveSheet.Range("ascCell").Value2 If ascCell = True Then ActiveSheet.Range("ascCell").Value2 = False With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlAscending .Apply End With Else ActiveSheet.Range("ascCell").Value2 = True With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlDescending .Apply End With End If End Sub
Aggiungi il codice VBA sopra al tuo nuovo modulo. La ToggleSortOrder()
subroutine consente di alternare l’ordinamento in una tabella Excel denominata Cars
nel foglio denominato Data
tra ordine crescente e decrescente della Year
colonna.
Inizia impostando una variabile denominata ascCell
sul valore da un intervallo denominato nel foglio chiamato ascCell . Questo è un valore True o False e viene utilizzato per tenere traccia dell’ordinamento corrente e consente alla routine di passare dall’ordine ascendente a quello discendente.
Puoi creare l’intervallo denominato nel tuo foglio selezionando una cella e quindi digitando ascCell nella casella del nome e premendo Enter.
Un’istruzione If... Then... Else
quindi ordina i dati in base al valore da ascCell
. Ogni parte dell’istruzione If
esegue anche la riscrittura nell’intervallo denominato ascCell per tenere traccia dell’ordinamento.
Ora puoi creare un pulsante nel tuo foglio e impostare il pulsante per eseguire il tuo codice VBA quando viene cliccato.
Aggiungi un pulsante di ordinamento con gli script di Office
Office Scripts è un linguaggio di programmazione disponibile per le versioni desktop e Web di Excel con un piano aziendale M365. Gli script di Office saranno la strada da percorrere se hai bisogno di un pulsante di ordinamento personalizzato che funzioni sia nella versione desktop che in quella web di Excel.
Vai alla scheda Automatizza e fai clic sull’opzione Nuovo script per aprire l’ editor di codice e creare un nuovo script.
function main(workbook: ExcelScript.Workbook) { let cars = workbook.getTable("Cars"); let ascCell = workbook.getActiveWorksheet().getRange("ascCell").getValue(); let ascValue: boolean; if (ascCell === true) { ascValue = true; workbook.getActiveWorksheet().getRange("ascCell").setValue(false); } else { ascValue = false; workbook.getActiveWorksheet().getRange("ascCell").setValue(true); }; cars.getSort().apply([{ key: 2, ascending: ascValue }], false); }
Aggiungi il codice sopra all’editor di codice e premi il pulsante Salva script.
Questo codice può essere utilizzato per ordinare una tabella in una cartella di lavoro di Excel. Inizia dichiarando due variabili: cars
e ascCell
. La cars
variabile memorizza la tabella della cartella di lavoro, mentre la ascCell
variabile memorizza un valore che indica se l’operazione di ordinamento deve essere eseguita in ordine crescente ( true ) o decrescente ( false ).
Controlla il valore della cella dell’intervallo denominato ascCell per determinare quale ordine di ordinamento deve essere utilizzato. Questa cella viene utilizzata per tenere traccia dell’opzione di ordinamento precedentemente applicata.
Il codice aggiornerà l’intervallo ascCell ogni volta che viene eseguito. In questo modo il codice può fungere da interruttore tra ordinamento crescente e decrescente.
Se ascCell è impostato su true , i dati vengono ordinati in ordine crescente, altrimenti vengono ordinati in ordine decrescente.
Il valore ascCell viene utilizzato per impostare la ascValue
variabile che determina l’ordinamento.
Infine, chiama il .getSort()
metodo con due parametri. Ciò garantisce che l’operazione di smistamento desiderata venga eseguita sul tavolo.
key: 2
rappresenta quale colonna deve essere ordinata. Questo utilizza un indice in base zero, quindi il 2 ordinerà la terza colonna.ascending: ascValue
è un valore booleano per stabilire se si desidera un ordinamento ascendente ( true ) o discendente ( false ).
Questo codice può essere eseguito dal pulsante Esegui nell’editor di codice , ma puoi anche creare un pulsante nel foglio che eseguirà il codice. Fare clic sull’icona Ellissi nell’area in alto a destra dell’editor di codice e selezionare l’ opzione del pulsante Aggiungi dal menu. Questo crea un pulsante che galleggia sopra la griglia e eseguirà lo script di Office ogni volta che viene premuto.
Aggiungi un pulsante di ordinamento con una slicer
Excel ha un’opzione Slicer molto utile per filtrare i dati della tabella. Si tratta di un oggetto filtro interattivo che fluttua sopra la griglia e consente a un utente di filtrare un determinato campo nei dati facendo clic sugli elementi slicer.
Sfortunatamente, non esiste un oggetto equivalente per ordinare i dati. Ma puoi creare uno strumento di ordinamento dei dati utilizzando slicere la funzione di array dinamico SORTBY.
In questo modo è possibile impostare slicer con opzioni ascendenti e discendenti che possono essere selezionate e ottenere l’ordinamento desiderato. Ecco come puoi configurarlo.
Dovrai prima impostare un secondo tavolo che alla fine si collegherà a slicer. Questo avrà 2 colonne, una conterrà le etichette da visualizzare slicer e l’altra conterrà gli input degli argomenti richiesti per la funzione SORTBY. Nella tabella precedente, la colonna Tipo contiene le etichette e la colonna Valore contiene gli argomenti SORTBY corrispondenti.
La tabella avrà due righe perché la funzione SORTBY ha due possibili input. Può ordinare in ordine crescente1
( ) o decrescente ( -1
).
Ora puoi creare slicer per questa tabella secondaria. Seleziona la tabella, vai alla scheda Progettazione tabella e fai clic sul comando Inserisci slicer.
Si aprirà il menu Inserisci slicer in cui è possibile selezionare il campo su cui basare l’affettatrice. Selezionare la colonna Tipo che contiene le etichette Ascending e Descending e premere il pulsante OK per creare lo slicer.
Questo creerà un’affettatrice in cui è possibile selezionare Ascending o Descending . Questo filtrerà la tabella per mostrare solo l’opzione selezionata. Ora avrai bisogno di un modo per ottenere il valore visibile dalla tua tabella filtrata. Questo può essere ottenuto con la funzione SUBTOTALE. Ti consentirà di aggregare una colonna in base alle righe visibili.
= SUBTOTAL ( 104, Sort[Value] )
La formula SUBTOTALE precedente otterrà il valore massimo in base alle righe visibili nella colonna Valore. Restituisce 1 quando la tabella non è filtrata o è filtrata su Ascending e restituisce -1 quando la tabella è filtrata su Descending.
= SORTBY ( Cars, Cars[Year], SUBTOTAL ( 104, Sort[Value] ) )
Questo risultato SUBTOTALE può essere utilizzato nella funzione SORTBY per modificare l’ordinamento utilizzando slicer! La formula precedente restituirà la tabella Cars ordinata per la colonna Anno in base ai risultati SUBTOTALE.
Ora puoi ordinare i tuoi dati con un’affettatrice!
Conclusioni
L’ordinamento dei dati è una parte fondamentale di qualsiasi analisi dei dati e avere un pulsante per questo renderà il processo molto più semplice. Gli interruttori dei filtri offrono un pulsante integrato per ogni intestazione di colonna nei dati e questi possono essere aggiunti rapidamente con una scorciatoia. Ma le opzioni di ordinamento che forniscono non sono ovvie.
Un altro modo per inserire un pulsante di ordinamento per i tuoi dati è con VBA o Office Scripts. Entrambi ti permetteranno di creare codice per ordinare i tuoi dati e questi possono essere aggiunti a un pulsante posizionato nel tuo foglio.
Autore John MacDougall
Pubblicato in Excel
Commenta per primo