L’automazione di Excel

By | 26 Ott 2017

automazione di excelStasera parliamo dell’automazione di Excel. Excel è uno strumento poderoso, ma per sua natura lavora in modo semiautomatico, cioè richiede una notevole attività da parte dell’operatore. D’altra parte Excel offre strumenti con cui è possibile automatizzare quasi tutte le attività ripetitive che svolgiamo, permettendo così di ridurre il tempo che dobbiamo spendere per gestire il foglio di lavoro. Stasera vediamo insieme come è possibile automatizzare un foglio di lavoro e con quali strumenti. Iniziamo chiarendo fin da subito cosa intendiamo per automazione.

In cosa consiste l’automazione di un foglio excel?

Una volta realizzato un foglio di lavoro, che sia di analisi, un report, una dashboard o altro, per la sua gestione questo richiede la spesa di un certo tempo, da pochi minuti a ore. Tempo necessario per aggiornare/caricare i dati, per aggiornare tabelle e grafici, tradizionali o pivot, per produrre report e distribuirli (pdf, stampa, invio, ecc), per evidenziare andamenti e anomalie, e così via.

Consideriamo per esempio un foglio di lavoro dedicato ad analizzare gli interventi di manutenzione di un’azienda manifatturiera e produrre report su macchine, manutentori, ricambi, andamenti, eccetera. Nella sua versione non automatizzata il foglio sarebbe composto da una pagina “dati” in cui scaricare i dati dal server aziendale, 5-6 pagine di analisi con tabelle, più di una dozzina di grafici, un cruscotto per monitorare i parametri principali e almeno 2 report. Tempo minimo per la gestione: più di due ore.

Tutto questo può essere automatizzato a livello base con una pagina di controllo da cui eseguire macro per importare i dati, aggiornare tabelle e grafici e poco altro. Questo ridurrebbe il tempo di gestione a meno della metà. D’altra parte il foglio di lavoro potrebbe essere automatizzo in modo più spinto, fino a far sparire la maggior parte delle pagine, a usare maschere con pulsanti e comandi per l’esecuzione delle macro che non si limitano a importare e aggiornare, ma che creano ogni volta le pagine di analisi, i grafici e i report relativi. Come un programma sviluppato specificatamente per questo.

(Questo esempio è reale, ho veramente realizzato un foglio di lavoro di questo tipo che è stato utilizzato per più di 6 anni da decine di persone. Viste le necessità, la frequenza di impiego, era necessario ridurre i tempi di gestione a pochi minuti.)

La prima domanda che dobbiamo porci quando pensiamo all’automazione è:

È necessario/utile automatizzare un foglio di lavoro?

Dipende.

In primo luogo è necessario ricordare che Excel è un programma che già lavora in modo semiautomatico, sia per la natura implicita di un foglio elettronico concepito per facilitare e automatizzare i calcoli, vedi per esempio l’aggiornamento automatico delle formule al variare dei dati o dei riferimenti, sia per gli enormi passi avanti fatti da Excel negli ultimi 15 anni, evidenti specialmente negli strumenti più avanzati. Un esempio sono le tabelle pivot agganciabili a tabelle o a fonti esterne, aggiornabili con un paio di click, capaci di produrre grafici pivot in pochi secondi (vedi i post “Come creare le tabelle pivot”, “Come giostrare con le pivot” e “Usa le pivot come un professionista” ). Un altro esempio è lo strumento “Statistica descrittiva” visto nel precedente post, “Strumenti per l’analisi statistica”, che con pochi click produce un report con i principali parametri statistici di una distribuzione.

Tornando alla domanda, prima di spendere tempo per automatizzare un foglio di lavoro bisognerebbe valutarne l’effettiva necessità o utilità. Come possiamo farlo? Rispondendo a poche domande:

  1. Per quanto tempo mi servirà il foglio di lavoro?
  2. Quanto tempo spendo per usarlo?
  3. Sarà utilizzato anche da altri?
  4. Lo utilizzerò ancora in futuro?

Se un foglio di lavoro mi servirà per una singola attività o per un tempo limitato, per esempio qualche settimana, non ha senso spendere tempo per automatizzare. Analogamente se il foglio di lavoro è semplice o richiede poco tempo per la gestione, se ci spendo 5 minuti alla settimana perché automatizzare? Potrebbe essere necessario farlo se il foglio di lavoro sarà usato da altre persone o se dovrò/potrò utilizzarlo in futuro in lavori analoghi.

Tutto questo per dirti: automatizza il tuo foglio di lavoro quando è utile o necessario farlo. Personalmente non spendo tempo ad automatizzare nulla che non faccia risparmiare almeno il doppio del tempo, meglio se 5–10 volte tanto.

Come so quanto tempo mi serve per automatizzare?

Per fare una stima devi saper automatizzare o devi chiedere a chi lo sa fare. Quindi all’inizio, per farti esperienza, ti invito a provare a farlo, ma su progetti semplici e utili o necessari a priori. Non lavorare su progetti ciclopici che richiederebbero lo sviluppo di un software apposito di uno sviluppatore che ci metterebbe anche meno tempo. Excel rimane un foglio elettronico, non una piattaforma per lo sviluppo di applicazioni, ok?

Quali fogli di lavoro è opportuno automatizzare?

Quelli utili, non lo abbiamo appena detto? No, non esattamente. Bisogna valutare altri aspetti prima di partire. Il primo lo abbiamo appena visto: quanto tempo mi servirebbe per automatizzare il foglio di lavoro?

Se è troppo devi chiederti:

  1. posso farlo automatizzare a qualcun altro?
  2. ci sono altri strumenti disponibili sul mercato per fare quello che mi serve?

Personalmente ti sconsiglio di spendere più di una decina di ore nell’automazione, ma comunque di rapportare il tempo speso con il tempo che puoi risparmiare di seguito.

Detto questo c’è un altro aspetto da considerare: non sempre si può o è opportuno automatizzare un foglio di lavoro. Questo quando:

  1. il foglio di lavoro non è standardizzato:

cioè la sua struttura e costruzione non rispettano le regole basilari (funzionalità, semplicità, efficienza, ecc). Per esempio, si usano pagine dati non standard, su cui non è possibile applicare pivot o strumenti avanzati, o tabelle malcostruite, o strutture multifoglio, eccetera. Si automatizzano fogli di lavoro standard e fatti bene, ok?

  1. il foglio di lavoro richiede molte attività decisionali da parte dell’utente:

se la maggior parte del tempo che spendi nella gestione del foglio di lavoro è per attività non ripetitive, ma decisionali, allora non ha senso automatizzarlo. Si automatizzano le attività ripetitive o le attività decisionali semplici, quelle che si possono gestire con un flusso decisionale semplice con poche condizioni. Se le attività richiedono valutazioni troppo complesse o non logiche/parametriche/quantitative, allora non è possibile o non ha senso automatizzarle perché richiederebbe troppo tempo.

Riassumendo: si automatizzano fogli di lavoro standard e solo attività ripetitive che non richiedono decisioni complesse, ok?

Come si automatizza un foglio di lavoro?

L’automazione si realizza come un progetto, seguendo le seguenti fasi:

  1. Analisi delle attività di gestione (mappa delle attività)

Il primo passo è fare una lista delle attività che si compiono sul foglio di lavoro, scomponendole nelle singole attività elementari, per poi trasformare la lista in una mappa su cui indicare tempo, scopi, oggetti, relazioni, equivalenze, decisioni da prendere, parametri di riferimento, eccetera.

  1. Stesura del progetto (cosa deve essere fatto, come e da chi)

Sulla mappa delle attività si decide cosa è utile, opportuno, facile automatizzare e cosa invece no, perché per esempio riguarda decisioni troppo complesse. Si prepara quindi una lista dei lavori dove indichiamo cosa deve essere fatto, in che modo e da chi. Perché non necessariamente dovete farlo voi o solo voi.

Per esempio, il nostro progetto potrebbe comprendere: alcuni automatismi da applicare all’apertura del foglio per caricare in automatico i dati o per resettare i report, la sostituzione di due tabelle con tabelle pivot, la creazione di grafici pivot permanenti in pagine apposite, una maschera di controllo con i comandi base, una macro che svolge controlli sui dati di base, una che aggiorna tabelle pivot e grafici, eccetera.

  1. Realizzazione dell’automazione (sviluppo/revisione degli automatismi)

Si prende il progetto e si realizza, revisionando il foglio di lavoro, applicando o modificando gli strumenti utilizzati, modificando o sviluppando le macro tramite l’editor Vba. Dove prendiamo le macro, il codice da usare? Un veterano ha nella sua scatola degli attrezzi macro e maschere già pronte per l’80% delle attività ripetitive su un foglio di lavoro o comunque facilmente adattabili per i suoi bisogni.

Se sei alle prime armi non sviluppare tutto da zero, ma cerca le soluzioni che altri hanno già realizzato. Con una ricerca in rete puoi trovare tutto quello che ti serve, macro già sviluppate che devi adattare ai tuoi bisogni e ti fanno risparmiare sia parte del tempo di sviluppo che buona parte del tempo necessario per risolvere gli errori che possono sorgere. Ricorda sempre che se hai problema con Excel è certo che altri lo hanno avuto prima e che probabilmente puoi trovare una soluzione sul web. Quindi non esitare a fare ricerche.

  1. Verifica dell’automazione

Una volta che hai realizzato il tuo progetto devi verificarne il funzionamento, la correttezza e l’efficacia. È fondamentale, in particolare se ci sono calcoli nel codice, decisioni e molti puntamenti a celle. Quindi per la verifica:

1. prima prendi il progetto e ne controlli ogni singolo elemento,

2. poi prendi la mappa delle attività e le esegui, sia alla vecchia maniera (su un backup del foglio di lavoro, che devi sempre conservare), sia con i nuovi automatismi sul foglio di lavoro modificato.

Con quali strumenti possiamo automatizzare un foglio di lavoro?

Lo strumento primo e più potente sono le macro (subroutine e funzioni) realizzabili tramite l’editor vba (premi Alt+F11 per lanciarlo) con cui possiamo fare quasi tutto quello che vogliamo su tutti gli oggetti di Excel e anche di più. Richiede la conoscenza del linguaggio vba (visual basic for application) e delle basi della programmazione. Le macro vengono scritte o caricate in moduli tramite l’editor e lanciate tramite maschere, pulsanti o altri strumenti interattivi gestibili con pochi click.

Ne parleremo ampiamente in una serie di post dedicati, ma se già non conosci questo argomento in rete puoi trovare numerosi siti dedicati soprattutto in inglese, un intero universo, testi nelle librerie anche stampati e corsi specifici anche in italiano. Se vuoi qualche spunto o indicazione ti invito a consultare la pagina “Risorse utili per imparare Excel”.

Ma quando parliamo di automazione di Excel non dobbiamo dimenticare gli strumenti avanzati che il foglio elettronico offre e che permettono di semplificare gestione e interazione. Un esempio classico sono le tabelle pivot: puoi agganciarle direttamente alle fonti esterne tramite query, puoi aggiornarle con un click o un tasto, puoi configurarli in un minuto, puoi creare un grafico che si aggiorna con la tabella in automatico e le pivot sono gestibili facilmente con le macro.

Tutti gli strumenti avanzati permettono di ottenere risultati con poco sforzo. Anche gli strumenti da installare, vedi componenti aggiuntivi, o quelli esterni, come Power BI. Devi fare Business Intelligence? Excel interagisce facilmente con lo strumento online per la BI sviluppato da Microsoft. Ne parleremo.

Tornando a noi, gli strumenti avanzati in generale sono concepiti per essere facilmente gestibili, quindi sono molto automatizzati, cioè ti permettono di ottenere grandi risultati con poco sforzo in poco tempo. Quindi ti invito a studiare gli strumenti avanzati per poterli utilizzare.

Da dove si comincia con l’automazione di Excel?

Dal prossimo post. Cioè per oggi ci fermiamo qui, ma sono in programma diversi altri post sull’automazione dei fogli di lavoro e non solo. Nel frattempo ti invito ad approfondire l’argomento presso altre fonti e, se già non lo conosci, a farti un’idea sul Vba (vedi pagina “Risorse utili per imparare Excel”).

Concludo dicendo che ho scritto questo post perché un mio lettore mi ha fatto notare che non avevo ancora scritto nulla sull’automazione dei fogli Excel. Questo e molto altro. Colgo l’occasione per ringraziarlo dei suoi consigli franchi e diretti.

E colgo l’occasione per invitare anche te a darmi consigli e a farmi richieste specifiche e dirette. Non esitare a scrivermi e lo puoi fare velocemente con il modulo di questa pagina.

Spero che quanto abbiamo visto ti possa essere utile. Se hai qualcosa da dire non esitare a lasciare un commento o a scrivermi.

A presto ;D

 

PS: Se questo post ti è piaciuto o ti è stato utile, condividilo con gli amici sui social.
Puoi farlo attraverso i pulsanti qui di seguito. Grazie

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.