Cum se calculeaza data nasterii ?
Scris: Mar Feb 15, 2011 3:54 pm
Salutare,
Ce mai faceti ? N-am mai intrat pe forum de un kilogram de ani, very busy, do not ask... . Vad ca sunteti foarte activi, sunt mandru de voi
Uite o intrebare buclucasa, poate o luati in considerare pentru concurs: un baietel a implinit in 10 februarie 2011 nu mai putin de 6 ani, 7 luni si 20 de zile.
Intrebarea este care este data nasterii acelui baietel ?
Am incercat eu ceva, dar nu este tocmai corecta solutia, adica am verificat-o cu DATEDIF si... a iesit altceva, adica eroarea este de o zi.
Asadar:
Celula A11 = 6 [ani];
Celula B11 = 7 [luni];
Celula C11 = 20 [de zile]
Celula D11 = 10-Feb-2011 [data la care baietelul a implinit 6 ani, 7 luni si 20 de zile];
Celula E11 = DATE(YEAR(D11)-A11,MONTH(D11)-B11,DAY(D11)-C11) => formula de calcul a datei de nastere. Rezultatul este 20-Jun-2004.
Din pacate, nu este corecta data. Eroarea se scoate la lumina folosind functia DATEDIF de trei ori:
DATEDIF(E11,D11,"Y") => 6 ani => corect;
DATEDIF(E11,D11,"Ym") => 7 luni => corect;
DATEDIF(E11,D11,"md") => 21 de zile => Oops, ar trebui sa fie doar 20 de zile (rezultatele returnate de DATEDIF sunt corecte). Inseamna ca eroarea este in celula E11.
O alta situatie ar fi pentru un bebelus de 2 luni si 28 de zile care se vor implini in 10 mai 2011. Cu formula mea rezulta ca e nascut in 10 februarie 2011, dar cu DATEDIF rezulta ca ar avea 3 luni si 0 zile (ceea ce este corect).
Unde este greseala ? Nu intreb ca sa va testez, ci intreb pentru ca n-am reusit sa ii dau de capat . Solutia corecta ar trebui sa elimine erorile pentru ambele situatii de mai sus.
Va multumesc.
P.S. Am vazut pe unii ca reusesc sa scrie pe forum cu diacriticile romanesti. Cum fac ? Eu de obicei scriu cu diacritice, dar pe forum nu pot (folosesc WinXP).
Ce mai faceti ? N-am mai intrat pe forum de un kilogram de ani, very busy, do not ask... . Vad ca sunteti foarte activi, sunt mandru de voi
Uite o intrebare buclucasa, poate o luati in considerare pentru concurs: un baietel a implinit in 10 februarie 2011 nu mai putin de 6 ani, 7 luni si 20 de zile.
Intrebarea este care este data nasterii acelui baietel ?
Am incercat eu ceva, dar nu este tocmai corecta solutia, adica am verificat-o cu DATEDIF si... a iesit altceva, adica eroarea este de o zi.
Asadar:
Celula A11 = 6 [ani];
Celula B11 = 7 [luni];
Celula C11 = 20 [de zile]
Celula D11 = 10-Feb-2011 [data la care baietelul a implinit 6 ani, 7 luni si 20 de zile];
Celula E11 = DATE(YEAR(D11)-A11,MONTH(D11)-B11,DAY(D11)-C11) => formula de calcul a datei de nastere. Rezultatul este 20-Jun-2004.
Din pacate, nu este corecta data. Eroarea se scoate la lumina folosind functia DATEDIF de trei ori:
DATEDIF(E11,D11,"Y") => 6 ani => corect;
DATEDIF(E11,D11,"Ym") => 7 luni => corect;
DATEDIF(E11,D11,"md") => 21 de zile => Oops, ar trebui sa fie doar 20 de zile (rezultatele returnate de DATEDIF sunt corecte). Inseamna ca eroarea este in celula E11.
O alta situatie ar fi pentru un bebelus de 2 luni si 28 de zile care se vor implini in 10 mai 2011. Cu formula mea rezulta ca e nascut in 10 februarie 2011, dar cu DATEDIF rezulta ca ar avea 3 luni si 0 zile (ceea ce este corect).
Unde este greseala ? Nu intreb ca sa va testez, ci intreb pentru ca n-am reusit sa ii dau de capat . Solutia corecta ar trebui sa elimine erorile pentru ambele situatii de mai sus.
Va multumesc.
P.S. Am vazut pe unii ca reusesc sa scrie pe forum cu diacriticile romanesti. Cum fac ? Eu de obicei scriu cu diacritice, dar pe forum nu pot (folosesc WinXP).