giovedì 13 febbraio 2014

Come fare un calendario 2017 perpetuo con EXCEL



In EXCEL è possibile fare un calendario perpetuo che si aggiorna automaticamente di anno in anno.

L'esempio sottostante si riferisce ad anni precedenti, ma basta applicare la stessa logica all'anno in corso per ottenere il calendario che ci occorre.

Per fare un calendario perpetuo con EXCEL che si possa aggiornare automaticamente, procedere come segue :

1) Preparare una tabella esattamente come sotto, utilizzando le stesse celle come vedete nella figura .



2) Inserire un comando a frecce ( vedi QUI come fare ),  che ci faccia scegliere i mesi da 1 a 12 .


3) Inserire un comando a frecce ( vedi QUI come fare ), che ci faccia scegliere l'anno, dal 1900 al 3000 ad esempio.
Per l'intestazione del mese utilizzare la formula =DATA(E4;C4;1), in modo che quando cambiamo il mese e l'anno, automaticamente si aggiorna l'intestazione del mese.


Scegliere formato data personalizzato ( mmmm aaaa ), in modo da far vedere solo il mese e l'anno della data ( vedi formattazione data QUI )



4) Adesso dobbiamo fare in modo di determinare il 1° del mese che ci interessa a quale giorno della settimana corrisponde, quindi nella prima casella del calendario scriviamo la formula
 SE(GIORNO.SETTIMANA(DATA($E$4;$C$4;1);2)=C$7;1;""), la quale appunto determina con la funzione DATA() la nostra data di riferimento indicando il 1° giorno di quel mese e con la funzione GIORNO.SETTIMANA() ci dice se è un mercoledi come ad esempio nel caso di febbraio 2012 e quindi è il 3° giorno della settimana, con la funzione SE(), diciamo che se il giorno della settimana della data in questione corrisponde al numero della settimana indicato sopra, lo scrive altrimenti no.
In ogni caso potete copiare direttamente la formula e scriverla nella prima cella del calendario.


5) Per la seconda cella del calendario dobbiamo invece usare la formula  =SE(MAX($C$9:C9)>0;MAX($C$9:C9)+1;SE(GIORNO.SETTIMANA(DATA($E$4;$C$4;1);2)=D$7;1;"")), che vale anche per le altre celle della riga, fino alla domenica, ( potete copiarla e incollarla direttamente ).
E' simile alla prima formula, ma tiene condo della progressione che ci deve essere se alla sinistra è già stato individuato il 1° giorno del mese.


6)Per le righe sotto relative alle settimane 7-8-9 , invece basta scrivere delle formule che facciano riferimento alla cella precedente +1.



7) Continuare a scrivere formule che fanno riferimento alla cella precedente +1.


8) Per le ultime righe del calendario, invece occorre fare attenzione per far calcolare esattamente l'ultimo giorno del mese dopodichè non bisogna più scrivere nulla, e come sappiamo in questa riga c'è molta variabilità anche in considerazioni degli  anni bisestili .
Quindi utilizzare la formula 
=SE(I12 < GIORNO(FINE.MESE(DATA(E4;C4;1);0));I12+1;"")  cosi come scritta sotto, copiarla anche nella prima cella sotto corrispondente alla settimana 11.


9) La formula da usare per le altre celle a partire dal martedi è  come quella scritta sotto , 
=SE(C13 < GIORNO(FINE.MESE(DATA($E$4;$C$4;1);0));C13+1;""), da applicare anche per le celle della riga sotto corrispondente alla settimana 11 , sempre a partire dal martedi fino alla domenica.


10) Per determinare il numero della settimana corrispondente utilizzare la formula  =NUM.SETTIMANA(DATA($E$4;$C$4;1);2) che puntando sulla nostra scelta fatta con le freccette ci dice il primo di quel mese e di quell'anno a quale settimana corrisponde.
Per le settimane sotto basta fare riferimento alla cella sopra +1.


11) A questo punto possiamo giocare con le frecce e scegliere un mese e un anno a piacimento per ottenere sempre il calendario del mese di riferimento.


Per fare il vostro calendario potete copiare direttamente le formule che ho indicato sopra, l'importante è che lo abbiate costruito esattamente come nell'esempio .

Vedi anche: