Briciole ... tra i numeri

Alcuni dei miei passaggi su blog di natura didattica.
Matematica, scienze, numeri e giochi di logica,
riflessioni, sfide personali e sprazzi di neuroni impazziti.


Questi articoli sono stati ospitati da due dei migliori blog
che trattano matematica e scienze in generale.


Scienze ... giocando o quasi Percorsi di apprendimento scientifico alternativi al manuale scolastico,
favorendo collaborazioni con docenti e alunni di altri contesti
Blog sulla matematica dedicato agli studenti Spazio dedicato alla matematica applicata
con articoli di didattica scientifica e metodologia generale
Visita la sezione DIDATTICA.ndo ed usufrusci delle risorse didattiche a disposizione

Elenco contenuti
Pubblicato il 09/01/2011 su Matem@ticamente
 
Nuove funzioni per Excel-GiorniLavorativi-Festività-Pasqua e altro


Nuove funzioni per Excel con l'utilizzo del VBA

Operazioni con le date: “ GiorniLavorativi ” - “ Festività ” - “ Pasqua ” e altro...

 

 

Nuove Funzioni di Excel in VBA

 



Il tempo è un grande maestro,
ma sfortunatamente uccide tutti i suoi studenti.
Hector Berlioz.


0
Prova a fermarmi... se ci riesci!




Chi di noi non ha mai sognato di fare una capatina nel futuro, dare un’occhiata

e tornare poi al presente, magari cercando di far “fruttare” dati e notizie appresi?

Chi non ha mai pensato: “cavolo! se potessi tornare indietro potrei mettere a posto le cose? ”,
o, “
con l’esperienza che ho oggi, venti anni fa avrei potuto... ”.

Il Tempo e la sua magia. Il desiderio di governalo a proprio piacimento...

 

Qualcuno dice che, riuscendo a viaggiare ad una velocità più elevata di quella della Luce,

si dovrebbe poter riuscire a compiere “passeggiate extra-temporali”,

qualcun altro ci indica gli astri con un dito e con l’altra mano fa agitare un piccolo pendolo,

cercando di convincerci che sia in grado di fare delle previsioni,

altri ancora “giocano” con gli spiriti e le loro anime,

comunicano con loro e riescono ( credono ) ad indovinare il passato.

Ora, io non voglio scomodare la Scienza e ciò che per essa è scientificamente provato,

e non voglio neanche parlare della “credulità” e del desiderio innato di trascendere;

il mio solo intento, la mia sola convinzione è che, oggi, e probabilmente per molto ancora,

dobbiamo rassegnarci all’evidenza: siamo noi ad essere assoggettati al Tempo,

il quale si fa sonore risate quando cerchiamo di governarlo.

La sola cosa che ci è data fare è misurarlo.

 

Sono così state stabilite delle convenzioni, suddiviso il tempo in frazioni di esso e,

partendo dai secondi ( non ci interessa approfondire... ), passando per i minuti, le ore,

i giorni, le settimane, i mesi e gli anni, si arriva ai periodi, le ere ed oltre.

Gli strumenti per la misurazione del tempo più semplici che tutti noi conosciamo

ed utilizziamo quotidianamente sono l’orologio ed il calendario.

Su quest’ultimo vorrei soffermarmi e presentare alcune nuove Funzioni per Excel

che in qualche modo dovrebbero aiutare ad effettuare operazioni di vario genere sulle date.

 

Ma andiamo per ordine e cominciamo con qualche breve cenno storico
su come i calendari sono nati

e si sono perfezionati nel tempo e per fare questo bisogna iniziare con l’introdurre

l’anno solare detto anche tropico o tropicale.

L’anno solare è il periodo di tempo compreso fra due passaggi successivi del Sole

all'equinozio di primavera e ha una durata di 365 giorni, 5 ore, 48 minuti e 45 secondi.

E già qui sorge un problema, o meglio, il problema.

Non è forse l’anno, così come lo conosciamo, formato da 365 giorni?

No! Quello è l’anno civile ( la famosa convenzione... )

 

Vediamo allora come è stato risolto, nel corso del tempo, il problema dello "scollamento"

fra anno solare e anno civile , dovuto al fatto che il secondo (di 365 o 366 g)

non può essere uguale esattamente all' anno solare , che misura, per l'appunto,

365 g, 5 h, 48 m, 45 s .

Se l'anno civile non marciasse di pari passo con l'anno solare , si avrebbe uno spostamento

delle stagioni nell'arco dell'anno, per cui, ad esempio, l'equinozio di primavera finirebbe per scivolare,

col tempo, dal 21 marzo ad aprile, poi in maggio, in giugno, ecc.

Su questo sito è possibile approfondire alcuni cenni storici sui diversi calendari,

soprattutto quello Giuliano e quello Gregoriano, che è poi quello usato in tutto il mondo,

con pochissime eccezioni.

 

Vivendo in un’epoca in cui la tecnologia la fa da padrona e con la quale

si cerca di “semplificare” le azioni ed accorciare la loro durata e gli sforzi,

è molto importante considerare il nuovo formato di calendari, quelli  “digitali”.

Ce ne sono moltissimi e di vario genere ed utilità; ogni software che tratta l’argomento “date”,

mette a disposizione la sua applicazione più o meno completa e/o complessa.

 

Senza andare a menzionare software di cui magari, nessuno conosce l’esistenza,

è sufficiente dire che chiunque possieda un PC, sa bene che lo stesso sistema operativo

mette a disposizione un orologio con relativo calendario:

 

Orologio di Windows

 

Ma Windows ( anche altri), come si può ben vedere ( 15/08 Ferragosto ),

non si è preoccupato di evidenziare le festività  nella sua applicazione.

In tutti i calendari cartacei, le festività sono la prima cosa che viene messa in risalto

e normalmente si usa il colore rosso proprio per far si che la festività risalti adeguatamente.

Ora, o quelli di Microsoft ( anche altri ) sono degli stacanovisti che lavorano tutto l’anno,

o c’è stata una certa “leggerezza” da parte del programmatore, che,

proprio perchè lavora tutto l’anno, stanco, si è dimenticato di inserire una piccola lista con le festività

e di rendere l’algoritmo di calcolo e visualizzazione un po’ più  “italiano”. 

E sì, per noi italiani ( ma credo anche per altri ), le festività, è il caso di dirlo, sono “sacre”,

anche quando non hanno nulla a che vedere con la religione.

Studiamo e lavoriamo un intero anno, ma il nostro occhio è sempre lì, rivolto al calendario,

cercando di intercettare la sospirata festività che ci permette di “ricaricare le pile”.

 

Per festività non lavorative si intendono i giorni considerati festivi dal legislatore

e la cadenza per essi prevista, che ha subito numerose modifiche nel tempo.

Ad oggi, sono previste undici festività che possono distinguersi in civili e religiose

in virtù dell’evento che viene celebrato.

Ad esse si possono aggiungere festività locali, generalmente stabilite dalla contrattazione collettiva.

 

A proposito di festività...

Qualche anno fa, tornando dal lavoro, mio padre entrò in casa visibilmente nervoso;

aveva appena discusso animatamente con un cliente il quale, giustamente,

si era lamentato per il mancato rispetto dei tempi di consegna di un  “prodotto”.

Il mio “vecchio” aveva fatto delle previsioni di consegna, considerando un certo numero di giorni lavorativi,

ma non ne aveva decurtato le festività, in quella particolare situazione, la Pasqua e la Pasquetta.

Dovendo lavorare sempre con i tempi più ristretti possibili ( come molti ben sanno ),

aveva fatto una previsione e quei 2 giorni in meno non gli hanno permesso

di effettuare la consegna alla data stabilita, cosa che ha rischiato di fargli perdere il cliente.

Ma cosa era successo?

Come sempre, lui aveva compilato il suo bel foglio di Excel, che utilizzava proprio

per calcolare velocemente i giorni lavorativi compresi in un arco di tempo;

in particolare utilizzava una funzione predefinita di Excel  “GIORNI.LAVORATIVI.TOT

che in automatico decurta i Sabati, le Domeniche ed una lista di date, 

in modo da ottenere il totale dei giorni lavorativi.

 

Funzione predefinita di Excel Giorni-Lavorativi-Tot

 

In poche parole, aveva utilizzato correttamente la funzione e la sua lista di festività

includeva sì la Pasqua e la Pasquetta, ma le date erano quelle dell’anno precedente.

Lui aveva sbagliato a non ricontrollare le date, ma anche qui, direi

che il nostro amico programmatore della Microsoft non ci è venuto certo incontro;

avrebbe potuto scrivere una funzione che prevenisse questo tipo di errore.

 

Oggi il mio “vecchio” non usa più questa funzione di Excel, perchè quel giorno stesso

mi ha detto:

Hai imparato ad usare il VBA, bene, renditi utile e scrivimi una nuova funzione che calcoli la Pasqua in automatico;

voglio poterla usare senza doverci mettere sempre le mani per correggere le date

Avrei potuto denunciarlo per “sfruttamento minorile” e invece devo ringraziarlo per quella

e per tante altre “sfide” che ancora oggi mi propone, con l’intento di stuzzicarmi e stimolarmi.

 

Oggi ho migliorato alcune piccole imperfezioni che allora non avevo notato o di cui non mi ero preoccupato,

visto che il mio “cliente” era in famiglia. La funzione è stata così perfezionata in modo da renderla fruibile

ed adattabile alle esigenze di chiunque.

Questa è la schermata in cui vengono inseriti i dati:

 

Nuova finzione per Excel Giorni-lavorativi  

 

Per spiegare l’utilizzo di questa nuova funzione e le sue peculiarità,

ho voluto creare un piccolo video-tutorial in cui cerco di spiegare le differenze

tra la funzione predefinita di Excel e la mia; con piccoli esempi di compilazione dei campi,

si dovrebbe riuscire a comprendere bene la praticità e la duttilità della funzione stessa.

 

 

 

Il primo problema che ho dovuto affrontare è stato proprio quello di dover conoscere anno per anno

il giorno in cui cade la Pasqua; per le altre festività con una data ben precisa,

il tutto si è risolto con una semplice lista.

La Pasqua, come ben sappiamo, non cade sempre lo stesso giorno tutti gli anni; infatti,

il primo Concilio di Nicea (anno 325) stabilì che la solennità della Pasqua di Resurrezione

sarebbe stata celebrata nella domenica seguente il primo plenilunio

( quattordicesimo giorno della luna ecclesiastica ) che viene dopo l'equinozio di primavera.

Per questo la data di Pasqua è compresa tra il 22 marzo e il 25 aprile ( inclusi ).

Per maggiori informazioni...

 

E’ possibile matematicamente calcolare il giorno preciso?

Ci sono diversi sistemi per farlo e quello che più si adatta ad essere trasformato in un algoritmo

è quello del “metodo aritmetico di Gauss


 

Questa è la parte “centrale” del mio algoritmo riadattato al VBA

ed alle esigenze della mia funzione “ GiorniLavorativi

 

Algoritmo di Gauss riadattato per Excel e VBA

 

Il resto del codice è disponibile nel file FunzioniExcelMarco.bas , scaricabile insieme

al foglio di Excel di esempio dalla mia pagina “ Excel vs VBA ” o tramite il link diretto .

 

Risolto il problema della Pasqua il resto è stato abbastanza semplice.

Volendo comunque rendere la mia funzione “ GiorniLavorativi ” più duttile possibile,

ho pensato di scomporla in altre funzioni che possono essere utilizzate anche separatamente

per esigenze specifiche sempre inerenti alle date.

 

Le funzioni implementate sono quindi:

 

GiorniLavorativi

Domeniche

Sabati

Festività

PasquaDaAnno

GiornoInLettere

 

L’utilizzo delle singole funzioni viene spiegato nel dettaglio nel video-tutorial complessivo.

 

Consiglio, per chi dovesse avere poca dimestichezza con le funzioni create da terzi per Excel,

questo video-tutorial   “Importazione di nuove funzioni in Excel

 

Per chi ha invece intenzione di modificare i componenti aggiuntivi di Excel

e rendere quindi sempre disponibili le nuove funzioni, questo video-tutorial

Modifica componenti aggiuntivi di Excel ” può aiutare a comprendere il procedimento da seguire.

 

Excel è uno strumento molto potente ed utile sia per gli studenti che per coloro che lavorano;

spero che queste nuove funzioni aiutino a migliorare ed ottimizzare le operazioni con le date.


Ti consiglio di seguire commenti ed eventuali discussioni
sulla pagina di Matem@ticamente che ha ospitato l'articolo
   
Codice per incorporare l'articolo
     
Non hai trovato quello che cercavi?
Torna alla HomePage, da lì potrai accedere facilmente a tutti i contenuti del sito.
Torna all'inizio
Tutti i webmaster che volessero segnalare, non copiare,
il contenuto di questa pagina sul proprio sito, possono farlo liberamente.
E' gradito un preavviso tramite mail all'autore e l'iserimento,
nella pagina di citazione, di un link verso la pagina corrente.
© Copyright    Marco's Room
Contatti    Privacy    Valid XHTML 1.0 Transitional    CSS Valido!
Marco Cameriero Segui su LinkedInLinkedIn
Segui su Google+Google+
Data di pubblicazione: 15/10/2009    Ultimo aggiornamento: 01/12/2013
 
Porta d'ingresso per Marco's Room, la stanza Marco
  Feed RSS
Google
Web   Marco's Room
 
Effettua il login oppure registrati