Come eseguire calcoli con date precedenti al 1900

Roberto ama lavorare sulla genealogia. A volte, quando trova un cimitero più vecchio, invece delle date di nascita e morte, è visibile sulla lapide solo una data e un’età. Ad esempio, “nato: 18 gennaio 1801, morto 81 anni, 11 mesi, 17 giorni” o “Età: 93 anni, 8 mesi, 22 giorni, morto 18 marzo 1901”. Roberto si chiede se esista un modo per calcolare la data mancante.

C’è un modo per farlo, ma non comporta l’uso delle normali funzioni del foglio di lavoro. Sebbene Excel includa un ricco assortimento di funzioni del foglio di lavoro che consentono di manipolare le date, la “data di base” per Excel è il 1° gennaio 1900; questa è la data a partire dalla quale vengono calcolate tutte le date (è possibile modificare la data di base, ma solo di quattro anni, al 1904. Questa funzionalità viene fornita per compatibilità con Excel su Mac). Ciò significa che le date precedenti, come quelle che si trovano nel cimitero per scopi di genealogia, non possono essere calcolate direttamente in Excel.

Fortunatamente, VBA non ha questa limitazione. Ciò significa che puoi facilmente creare una funzione definita dall’utente (una macro) che farà i conti per te. Inizia inserendo la data di inizio (data di nascita o data di morte) nella cella B1. Quindi, nelle celle B2:B4 inserisci il numero di anni, mesi e giorni in base ai quali desideri modificare la data precedente. Pertanto, se B1 contiene una data di nascita, le celle B2:B4 dovrebbero essere positive (si desidera aggiungerle alla data di inizio). Se B1 contiene una data di morte, allora B2:B4 dovrebbero essere negative (vuoi sottrarle dalla data di inizio).

Quindi, crea questa macro:

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

In qualunque cella desideri visualizzare la data calcolata, puoi inserire la seguente formula:

=FindDate(B1;B2;B3;B4)

 

Il risultato della funzione è una data formattata che rappresenta la data iniziale aggiustata dagli anni, mesi e giorni specificati. Quindi, se la cella B1 contiene 18/1/1801, la cella B2 contiene 81, la cella B3 contiene 11 e la cella B4 contiene 17, la funzione restituirà 4/1/1883. Analogamente, se la cella B1 contiene 18/03/1901, la cella B2 contiene -93, la cella B3 contiene -8 e la cella B4 contiene -22, il risultato restituito sarà 26/06/1807.

Tags: , , ,

Ti è stato utile?