Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 9. 8. 2012 10:09:05

gucky
Člen
Registrace: 18. 4. 2008
Příspěvků: 154

Výpočet věku v LO - VYŘEŠENO

Zkusil jsem v LO 3.5.4.2 výpočet věku, to co řešil Raven_cz v Excelu.
V A1 mám aktuální datum (=TODAY()), tj. 9.8.2012.
V B1 mám datum narození 1.1.1964, tj. tomuto člověku bylo letos 48 let.
C1 je formátu Datum "WW", ale
C1=$A$1-B1 vrací 32, C1=B1-$A$1 vrací 21.
V čom může být chyba?

Editoval gucky (9. 8. 2012 14:14:21)

Offline

#2 9. 8. 2012 11:14:26

strepon
Člen
Registrace: 6. 1. 2011
Příspěvků: 156

Re: Výpočet věku v LO - VYŘEŠENO

Problém bude v tom, že rozdíl dat vrátí počet dní mezi těmito daty (v tomhle případě 17753 a -17753), ten se při formátu buňky jako datum převede na datum (8. 8. 1948 a 23. 5. 1851), které se při použití kódu "WW" zobrazí jako kalendářní týdny v roce (32 pro 8. 8. a 21 pro 23. 5.).

Počet let by byl C1=($A$1-B1)/365, tohle řešení pomíjí přestupné roky.

V LO 3.6 je na rozdíly v datech nově funkce DATEDIF: C1=DATEDIF(B1;$A$1;"y") vrátí počet celých let, změnou posledního parametru se dají vrátit měsíce nebo dny, a to i zbytkové (po odečtení let či měsíců).

Offline

#3 9. 8. 2012 13:43:46

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 844

Re: Výpočet věku v LO - VYŘEŠENO

Ta "metoda" je zvrhlost, přesně ani nemůže fungovat. 

Použij funkci years (v excelu není) nebo datedif (v excelu je ale není dokumentovaná, v posledních verzich oo se začíná objevovat, nobo fracyear, to je všude.

Offline

Zápatí