Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Date e anzianità

314 views
Skip to first unread message

louis

unread,
Mar 25, 2013, 12:21:25 PM3/25/13
to
salve,

non riesco a risolvere questo problema

devo calcolare l'anzianità in anni tra 2 date

esempio

data assunzione oggi
25/02/2011 25/03/2013

usando la funzione =ANNI() ottengo il risultato di 2, che pero' e'
sbagliato, manca infatti un mese

come risolvo?

RENEst

unread,
Mar 25, 2013, 12:38:06 PM3/25/13
to
Colonna A Colonna B
25/02/2011 25/03/2013 ANNI(A1:B1:0) Risultato 2
25/02/2011 24/02/2013 ANNI(A2:B2:0) Risultato 1
25/02/2011 25/03/2013 ANNI(A3:B3:0) Risultato 2
25/02/2011 24/02/2013 ANNI(A4:B4:0) Risultato 2

Mi sembra che hai tutte le possibilita'


VITRIOL

unread,
Mar 25, 2013, 12:39:45 PM3/25/13
to
Il 25/03/2013 17:21, louis ha scritto:

> usando la funzione =ANNI() ottengo il risultato di 2, che pero' e'
> sbagliato, manca infatti un mese

Ma tu cosa vuoi ottenere? Anni interi? Anni e mesi? Cosa esattamente?

--
Saluti
VITRIOL

martello

unread,
Mar 25, 2013, 12:50:34 PM3/25/13
to
Mi sa che è il solito problema :-) anni mesi giorni tra due date

VITRIOL

unread,
Mar 25, 2013, 12:58:37 PM3/25/13
to
Il 25/03/2013 17:50, martello ha scritto:

> Mi sa che è il solito problema:-) anni mesi giorni tra due date

Non se me uscirà mai :-P
Comunque in LibO adesso esiste la funzione DATA.DIFF() che replica la
famigerata funzione non documentata di Excel. Sinceramente non ho fatto
della prove per vedere come lavora esattamente in vari condizioni, posso
però supporre che salvo bug sia fatta per dare risultati analoghi a
Excel. Se è così per il 99% degli utenti allora è giusto in ogni caso.

--
Saluti
VITRIOL

martello

unread,
Mar 25, 2013, 1:49:56 PM3/25/13
to
Se lo dice excel è giusto :-)

Proprio oggi a scuola ho dovuto usare excel per aiutare degli alunni a
sviluppare un certo applicativo di calcolo.

Noi ci lamentiamo di OOo (lo amiamo e nel contempo lo critichiamo perchè
lo vorremmo migliore) ma secondo me ci sono più bug ... o per lo meno
funzionalità impreviste e incomprensibili (features :-) ) in excel
piuttosto che in OOo e in libo.

Operazioni apparentemente semplici sono diventate insuperabili se non
con qualche workaround tutto fatto in manuale.
Non ricordo la versione di Office (non la ricordo perchè non ci ho
guardato) ma ci siamo trovati in difficoltà per un semplice riferimento
ad una cella che come unico difetto era su un altro foglio.
Il comportamento era diverso se la cella apparteneva al foglio oppure no.
E noi siamo abituati anche ad usare celle che appartengono a file
diversi ... senza alcun problema (siamo mal abituati).

E ... la peppa ...
Non vado oltre per via dell'OT :-)

zara

unread,
Mar 25, 2013, 1:52:35 PM3/25/13
to

"martello" <mart...@martello.it> ha scritto nel messaggio
news:5150805d$0$37119$4faf...@reader1.news.tin.it...
http://office.microsoft.com/it-it/excel-help/calcolare-la-differenza-tra-due-date-HP003056111.aspx

VITRIOL

unread,
Mar 25, 2013, 2:07:15 PM3/25/13
to
Il 25/03/2013 18:52, zara ha scritto:

> http://office.microsoft.com/it-it/excel-help/calcolare-la-differenza-tra-due-date-HP003056111.aspx

Sì, ma qui siamo a livello dei trogloditi :-) molto più avanzate le
funzioni ANNI(), MESI() e GIORNI() che non esistono in Excel.
Ma anche così c'è qualcuno che vuole una risposta tipo 2 anni, 10 mesi e
20 giorni. Lasciando da parte il fatto che una risposta del genere è
davvero poco utile perché anni e mesi non sono unità di misura di tempo
perché hanno durata variabile, ma è anche difficile pensare a una
formula generale che dia una risposta sensata in tutti casi.
Con la funzione DATA.DIFF() è possibile, ma bisognerebbe fare delle
prove per vedere se lavora in modo perlomeno razionale. La sua
controparte in Excel non è neppure documentata (né elencata nelle
funzioni disponibili) da MS che dice che esiste solo per compatibilità
quando si aprono vecchi documenti di Lotus 1-2-3, quindi peggio che
andare di notte.

--
Saluti
VITRIOL

louis

unread,
Mar 26, 2013, 6:35:14 AM3/26/13
to
vorrei calcolare l'anzianità tra data assunzione e la data attuale
espressa in anni

VITRIOL

unread,
Mar 26, 2013, 6:46:30 AM3/26/13
to
Il 26/03/2013 11:35, louis ha scritto:

> vorrei calcolare l'anzianità tra data assunzione e la data attuale
> espressa in anni

Quindi un numeri intero per eccesso? Nel tuo esempio visto che è 2 anni
e 1 mese il risultato dovrebbe essere 3? Oppure 2 virgola qualcosa?
Oppure anni, mesi e giorni come detto in altri post?
Scusa, ma se non spieghi in maniera chiara quello che vuoi ottenere si
gira in tondo. Non è che si debba per forza sapere come si calcola una
anzianità di lavoro, o come la vuoi calcolare tu.
Ti dico solo che se vuoi un risultato nella forma anni, mesi e giorni è
un problema annoso e ne abbiamo già parlato anche in questo stesso thread.

--
Saluti
VITRIOL

louis

unread,
Mar 26, 2013, 7:02:55 AM3/26/13
to
ho provato con questa formula e sembra funzionare

=DATA.DIFF(A1;OGGI();"y")

come detto vorrei calcolare l'anzianità tra la data di assunzione e la
data attuale espressa in anni (numero intero)

tra il 26/03/2012 e oggi (26/03/2013) e' passato 1 anno (risultato 1)
se cambio la data al 27/03/2012 il risultato è 0 (manca un giorno)

e' quello che voglio ottenere e la formula sopra sembra andare bene

Silvano

unread,
Mar 26, 2013, 7:59:03 AM3/26/13
to
Vediamo se ho capito bene. Tu vuoi ottenere gli anni interi
arrotondati _per difetto._
Lascio a te il compito di confermare o spiegarti meglio e a
chi ne sa più di me quello di verificare se quella formula
funziona sempre o fa strani scherzi in determinate
condizioni, p. es. se c'è di mezzo un 29 febbraio.

VITRIOL

unread,
Mar 26, 2013, 7:58:58 AM3/26/13
to
Il 26/03/2013 12:02, louis ha scritto:

> ho provato con questa formula e sembra funzionare
>
> =DATA.DIFF(A1;OGGI();"y")

Che differenza c'è rispetto alla formula =ANNI(A1;OGGI();0) che funziona
anche su AOO?

--
Saluti
VITRIOL

Calisvar

unread,
Mar 26, 2013, 10:51:20 AM3/26/13
to
"louis" <l.be...@libero.it> ha scritto nel messaggio
news:kirv8u$4fe$1...@speranza.aioe.org...

> tra il 26/03/2012 e oggi (26/03/2013) e' passato 1 anno (risultato 1)
> se cambio la data al 27/03/2012 il risultato è 0 (manca un giorno)

Se fosse la validità di una assicurazione, la prima riga sarebbe da
considerare 1 anno e 1 giorno, mentre la seconda sarebbe un anno pieno,
perchè una polizza stipulata il 27/03/12 scade il 26/03/13 alle 24

martello

unread,
Mar 26, 2013, 7:23:04 PM3/26/13
to

> e' quello che voglio ottenere e la formula sopra sembra andare bene

Allora ... 'sembra andare bene' è proprio la definizione giusta.

Queste formulette funzionano bene entro certi limiti.

Il problema come ti è gia stato detto è che i mesi ed anche gli anni non
anno un durata esatta e quindi non possono essere usati come unità di
misura.

Se uno accetta ampie approssimazioni qualsiasi formula può andare bene.
In particolare se i giorni che prendiamo in considerazione sono gli
ultimi giorni del mese possono avvenire diversi errori ( che non sono
realmente errori perché semplicemente è un campo dove è meglio non
avventurarsi).

Se le scadenze sono a fine mese e i mesi non sono lunghi allo stesso
modo è ovvio che si può incorrere nell'errore di un mese che può
propagarsi creando l'errore su un anno.

Insomma basta stabilire cosa si desidera fare e quali sono i limiti e
una soluzione si trova.

Quali sono i limiti di questo calcolo?


0 new messages