Discussione:
numero in anni
(troppo vecchio per rispondere)
pippo2005
2009-03-27 10:00:01 UTC
Permalink
ho un vuoto di memoria
Come si fa ad ottenere un numero decimale tra una differenza di date?
cioè come faccio ad ottenere 2,58 (2 anni e 7 mesi ---> 2+0,58)?
E, inoltre, se ci sono anche giorni?
Grazie
M
Tiziano Marmiroli
2009-03-27 10:11:29 UTC
Permalink
Post by pippo2005
ho un vuoto di memoria
Come si fa ad ottenere un numero decimale tra una differenza di date?
cioè come faccio ad ottenere 2,58 (2 anni e 7 mesi ---> 2+0,58)?
E, inoltre, se ci sono anche giorni?
Per Excel l'unitá di misura é il giorno, se vuoi la differenza espressa
in anni devi quindi dividere per 365.
--
Tiziano Marmiroli
Microsoft MVP - Office System
http://www.riolab.org
paoloard
2009-03-27 10:29:04 UTC
Permalink
Post by pippo2005
ho un vuoto di memoria
Come si fa ad ottenere un numero decimale tra una differenza di date?
cioè come faccio ad ottenere 2,58 (2 anni e 7 mesi ---> 2+0,58)?
E, inoltre, se ci sono anche giorni?
Grazie
M
Con riferimento al thread da te iniziato il 26/3 ad oggetto "Dove sbaglio?"
e tenuto conto delle precisazioni di Roberto (ciao), dovrebbe essere così:
=DATA.DIFF(A1;A2;"y")+DATA.DIFF(A;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365
--
Fai sapere se e come hai risolto. Grazie

Ciao paoloard
http://riolab.org
pippo2005
2009-03-27 18:19:03 UTC
Permalink
Post by paoloard
=DATA.DIFF(A1;A2;"y")+DATA.DIFF(A;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365
Funziona.
Ma come faccio a bloccare solo 2 decimali in modo da non avere problemi con
i calcoli successivi?
eliano
2009-03-27 22:14:00 UTC
Permalink
Post by pippo2005
Post by paoloard
=DATA.DIFF(A1;A2;"y")+DATA.DIFF(A;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365
Funziona.
Ma come faccio a bloccare solo 2 decimali in modo da non avere problemi con
i calcoli successivi?
Ciao pippo.
Prova, ma considera che si tratta comunque di un arrotondamento
=ARROTONDA(DATA.DIFF(A1;A2;"y")+DATA.DIFF(A1;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365;2)
Facci sapere,
Eliano
fernando cinquegrani
2009-03-28 00:38:01 UTC
Permalink
Post by pippo2005
ho un vuoto di memoria
Come si fa ad ottenere un numero decimale tra una differenza di date?
cioè come faccio ad ottenere 2,58 (2 anni e 7 mesi ---> 2+0,58)?
E, inoltre, se ci sono anche giorni?
volendo essere pignoli :-)
=DATA.DIFF(A1;A2;"y")+(A2-DATA(ANNO(A2);1;0))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))
.f
pippo2005
2009-03-28 13:30:03 UTC
Permalink
la formula di eliano funziona.
Ho provato quella di fernando ma dà un risultato diverso

A1 28/3/2009
A2 13/8/2016

ARROTONDA(DATA.DIFF(A1;A2;"y")+DATA.DIFF(A1;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365;2) = 7,38
stesso risultato della formula base:
ARROTONDA((A1-A2)/365;2) = 7,38
Invece
=DATA.DIFF(A1;A2;"y")+(A2-DATA(ANNO(A2);1;0))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0)) = 7,62
Come mai?
fernando cinquegrani
2009-03-28 17:54:21 UTC
Permalink
Post by pippo2005
la formula di eliano funziona.
Ho provato quella di fernando ma dà un risultato diverso
A1 28/3/2009
A2 13/8/2016
ARROTONDA(DATA.DIFF(A1;A2;"y")+DATA.DIFF(A1;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365;2)
= 7,38
ARROTONDA((A1-A2)/365;2) = 7,38
Invece
=DATA.DIFF(A1;A2;"y")+(A2-DATA(ANNO(A2);1;0))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))
= 7,62
perchè a volte mi sbaglio :-)

non mi piaceva il 365 della formula di eliano
(e se è un anno bisestile?), ed ho corretto velocemente
senza controllare.
in effetti non è così, ma
=DATA.DIFF(A1;A2;"y")+(A2-DATA(ANNO(A2);MESE(A1);GIORNO(A1)))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))

seleziona le formule per parti e premi F9
per capire le differenze.
in questa ultima vedrai 7+138/366
ossia 7 anni
dal 28/3/2009 al 28/2/2016
+ 138 giorni dal
28/3/20016 al 13/8/2016 (anno bisestile)
con differenze rispetto alla formula di eliano
nell'ordine dei millesimi.

non sarebbero questi i soli modi di calcolare
le parti di anno trascorso (sempre con differenze
nell'ordine dei millesimi).
è possibile ad esempio dire che sono passati
6 anni interi + 278/365 + 226/366
ossia 278 giorni tra il 28/3/2009 e il 31/12/2009
e 226 giorni tra il 1/1/2016 e il 13/8/2016.

per conoscere il metodo di calcolo corretto,
bisognerebbe sapere quale sarà l'utilizzo della
formula.
.f
eliano
2009-03-28 23:27:01 UTC
Permalink
"fernando cinquegrani" ha scritto:

[cut]
Post by fernando cinquegrani
per conoscere il metodo di calcolo corretto,
bisognerebbe sapere quale sarà l'utilizzo della
formula.
.f
Ciao fernando.
Avevo messo le mani avanti dicendo che comunque si trattava di un
arrotondamento. :-))
Saluti
Eliano
pippo2005
2009-03-28 23:49:00 UTC
Permalink
c'è una falla nella formula di fernando

A1 29/3/2009
A2 26/2/2011
risultato con formule ARROTONDA = 1,92
risultato formula fernando DATA.DIFF = 0,92
mah!!!
fernando cinquegrani
2009-03-29 04:05:34 UTC
Permalink
Post by pippo2005
c'è una falla nella formula di fernando
A1 29/3/2009
A2 26/2/2011
risultato con formule ARROTONDA = 1,92
risultato formula fernando DATA.DIFF = 0,92
ahia! ero meglio se me stavo zitto :-)
=DATA.DIFF(A1;A2;"y")+(DATA(ANNO(A2);MESE(A1);GIORNO(A1))>A2)+(A2-DATA(ANNO(A2);MESE(A1);GIORNO(A1)))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))
.f
pippo2005
2009-03-29 10:08:01 UTC
Permalink
GRAZIE .F
FORMULA PERFETTA
Post by fernando cinquegrani
=DATA.DIFF(A1;A2;"y")+(DATA(ANNO(A2);MESE(A1);GIORNO(A1))>A2)+(A2-DATA(ANNO(A2);MESE(A1);GIORNO(A1)))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))
anche se ho notato che non si blocca ai 2 decimali ... questo potrebbe
influenzare i calcoli?
m. :(
pippo2005
2009-03-30 20:18:01 UTC
Permalink
Ragazzi purtroppo sono dovuto tornare indietro, accantonare la formula di
fernando (quella + sotto) e ripristinare quella di eliano
ARROTONDA(DATA.DIFF(A1;A2;"y")+DATA.DIFF(A1;A2;"ym")/12+DATA.DIFF(A1;A2;"md")/365;2)
perchè è risultata piu' attendibile in quanto si blocca solo a 2 decimali
senza, così, stravolgermi i restanti calcoli.
Post by pippo2005
GRAZIE .F
FORMULA PERFETTA
Post by fernando cinquegrani
=DATA.DIFF(A1;A2;"y")+(DATA(ANNO(A2);MESE(A1);GIORNO(A1))>A2)+(A2-DATA(ANNO(A2);MESE(A1);GIORNO(A1)))/(DATA(ANNO(A2)+1;1;0)-DATA(ANNO(A2);1;0))
anche se ho notato che non si blocca ai 2 decimali ... questo potrebbe
influenzare i calcoli?
m. :(
Loading...