Quando si lavora su un foglio di calcolo Excel per creare degli elenchi numerici che riportano dati relativi a determinati importi, può risultare utile sommare i diversi dati in base a degli specifici raggruppamenti. Per esempio, se si usa il foglio di lavoro per calcolare prospetti di vendite o di spese effettuate in un'azienda, dopo averle strutturate in tabelle, può essere comodo sommare le cifre suddividendole in diverse voci e riassumerne solo i dati scelti.
Tra le varie funzioni di Excel, il subtotale è quella che permette di visualizzare il totale delle singole voci di una tabella, oltre a poter riepilogare i dati in base a filtri dati. Quando si vogliono analizzare elenchi di voci che riportano budget o importi numerici e riepilogarli o calcolarne i totali, la funzione subtotale risulta la più idonea a risolvere il calcolo. Vediamo come poterla usare per ottenere la somma di un elenco di voci considerando solo le righe visibili.
Immaginiamo di avere creato già una tabella come quella in figura, che contiene diverse colonne ognuna delle quali corrispondente a una determinata voce. Supponiamo di avere sei colonne che indicano rispettivamente l'Agente, la Provincia, il Nome e il Cognome dell'ordinante, il Numero dell'Ordine e il Totale degli Ordini effettuati da quel cliente.
Volendo calcolare il totale di tutti gli ordini presenti in tabella, sarà sufficiente usare la funzione Somma. Supponiamo di volerla calcolare nella cella AM2, la formula corretta da inserire sarà: =SOMMA(AM4;AM170), in questo modo si sarà calcolato il totale di tutti gli ordini dell'elenco.
Se, invece, non si vuole ottenere il totale complessivo di tutti gli ordini, ma si desidera calcolare tutti gli ordini relativi a una determinata voce della tabella, si dovrà ricorrere per forza alla funzione del subtotale.
Immaginiamo, quindi, di voler calcolare solo il subtotale delle celle che ci interessano, nel nostro esempio quelle relative agli ordini dell'Agente Verdi. La formula da usare sarà la seguente: =SUBTOTALE(109;AM4;AM170). In questo modo, abbiamo ordinato a Excel di tenere in considerazione solo i contenuti delle celle incluse nel filtro, ovvero solo gli ordini effettuati dall'Agente Verdi.
Poiché la funzione subtotale di Excel è dinamica, nel momento in cui si andrà a modificare un determinato contenuto di una cella, il subtotale si aggiornerà in modo automatico. Per esempio, se si vuole calcolare il totale degli ordini dell'Agente Rossi effettuati in una specifica provincia, basterà impostare il filtro che mostri solo gli ordini dell'Agente Rossi avvenuti, per esempio, nella provincia di Bologna. Il totale cambierà automaticamente, come nella figura.
Una peculiarità, che rende differente la funzione subtotale dalle altre, è la possibilità di inserire dei subtotali annidati. Per esempio, tornando alla nostra tabella, possiamo far calcolare al foglio di Excel il totale degli ordini effettuati da ogni Agente presente nell'elenco. Quindi, si potrebbe inserire il totale di ogni Agente sotto la lista dei suoi ordini. Supponiamo di voler iniziare con il calcolo degli ordini dell'Agente Gialli, la funzione subtotale è strutturata in modo da permettere di ignorare gli altri subtotali presenti nella colonna. La formula esatta da inserire per conoscere il totale degli ordini dell'Agente Gialli sarà: =SUBTOTALE(9;AM5;AM13).
In questo modo, avremo ottenuto la somma dei soli ordini di Gialli. Applicando la funzione anche per gli ordini degli altri Agenti, si potrà ottenere un riepologo proprio come quello mostrato in figura:
Bisogna sempre ricordare che si tratta di una funzione dinamica, per cui a qualsiasi tipo di modifica dei dati corrisponderà un cambiamento della somma totale. Per esempio, se si modifca il contenuto di una delle righe della tabella, anche i subtotali calcolati si aggiorneranno di conseguenza.
Tenendo in considerazione la tabella di ordini già vista, supponiamo di voler riepilogare il totale degli ordini per ogni Agente e che per ogni agente vogliamo ottenere l'elenco degli ordini in ogni provincia. Prima di tutto, bisognerà eliminare il subtotale già applicato.
Per farlo, sarà sufficiente posizionarsi su una cella qualsiasi della tabella, andare sulla barra Dati e selezionare nuovamente la funzione subtotale.
All'interno della finestra subtotale, basterà cliccare semplicemente sul pulsante Rimuovi tutti, in questo modo saranno rimossi i subtotali precedentemente inseriti.
Quindi, tornate sulla barra Dati e scegliete il comando Ordina.
Si aprirà la finestra corrispondente, selezionate il comando Aggiungi Livello.
Nella finestra vi sarà chiesto di inserire dei dati per le voci "Colonna", "Ordina in base a" e "Ordina".
Sotto Colonna, alla voce "Ordina per", inserite Agente. Continuando, alla voce "Ordina in base a" inserite Valori, quindi alla voce Ordine selezionate "Dalla A alla Z".
Cliccate di nuovo su Aggiungi Livello e procedete come sopra, inserendo Provincia alla voce "Ordina per" di Colonna. Selezionate Valori e Dalla A alla Z nelle successive voci e date l'Ok.
In questo modo, avrete ottenuto una lista ordinata alfabeticamente secondo i nominativi dei clienti, e ogni cliente sarà ordinato secondo la provincia in cui sono stati effettuati gli ordini. La procedura da eseguire sarà, quindi, simile alla precedente: tornate sulla barra Dati e compilate la finestra Subtotali, come mostrato in figura.
In questo modo, si è ordinato a Excel di applicare il filtro agli Agenti, mentre per applicare il filtro relativo alla Provincia, dovrete compilare la finestra nel modo seguente:
Prestate attenzione che non sia spuntata la voce "Sostituisci i subtotali correnti".
A questo punto, avrete ottenuto la tabella come riportata nell'immagine seguente:
Per finire, noterete il cambiamento nella parte sinistra del foglio di lavoro: qui sarà possibile espandere o chiudere il dettaglio delle diverse voci.