Usando fórmulas yo probé los siguiente:
Suponiendo que la fecha de nacimiento esté en b1 y la fecha de hoy en a1.
para sacar el año en (por ej.) c1:
=AÑOS(B1;A1;0)
para sacar los meses en c2:
=RESIDUO(MESES(B1;A1;0);12)
para sacar los días; suponiendo que el mes se cumpla siempre en el día del
cumpleaños (ej.11/05 el 11/06 se cumpliría el mes)
utilizamos 2 fórmulas:
CASO 1
=DÍA(A1)-DÍA(B1)
para el caso en que no se haya cumplido el mes
CASO 2
en una celda (ej D3) obtenemos el último día en que se cumplió el mes
=FECHA(AÑO(A1);MES(A1)-1;DÍA(B1))
En C3
=DÍAS(A1;d6)
Luego en c4 utilizando la función =si() : Si caso1 > 0 caso1 sino caso2
la formula quedaría mas o menos
="usted tiene"&c1&" días & c2 & " meses "& c4 &" días"
----- Original Message -----
From: "mauriciobaeza" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, June 28, 2008 3:21 AM
Subject: RE: [usr] Antiguedad laboral resuelto
Hola Marcelo...
Hola a todos...
Estuve haciendo unas pruebas con tu archivo, pero en varias fechas me da
resultados diferentes a "los esperados", por ejemplo, con mi fecha de
nacimiento siempre da un día menos de lo correcto, en el siguiente vinculo
puedes hacer más pruebas...
http://www.timeanddate.com/date/duration.html
La resta de dos fechas no tiene ninguna ciencia por que la mayoría de las
hojas de calculo convierten la fecha interna en un entero largo (Long)
comenzando en un día X (en Calc el día 1 es el 31 de diciembre de 1899) y
hacen la resta para obtener días (por ejemplo hoy 28-jun-2008 es el día
39,627), para convertir a años, meses y días, tiene ciertos detalles a
considerar, el primero y más obvio por supuesto, es que la cuenta del tiempo
no es exacta ni jerárquica, si siete días fueran una semana, cuatro semanas
un mes y doce meses un año, la cosa sería diferente, pero como todo mundo
sabe, los meses no tienen los mismos días y no todos los años son de 365
días, esto es por que la duración de un día que para nosotros por
conveniencia es de 24 horas, en realidad no es preciso pues se ve afectado
por el movimiento de rotación, traslación, la gravedad del sol y hasta de la
luna
http://www.meridiano98.org.mx/articulos/tiempo.html
http://es.wikipedia.org/wiki/A%C3%B1o
http://es.wikipedia.org/wiki/D%C3%ADa
El año en realidad tiene una duración de 365 días 5 horas 48 minutos y unos
cuantos segundos (que varían), para fines prácticos, se a convenido en
ajustar con un día más cada cuatro años, excepto los años seculares que no
sean divisibles por 400, por ejemplo el año 2000 fue bisiesto...
Entonces si digo que:
Desde el martes, 15 de enero de 1974
Al : sábado, 28 de junio de 2008
Hay 12,583 días y he vivido
34 años, 5 meses y 13 días
Debemos ser capaces de comprobarlo, es decir, de multiplicar los 34 años por
365 + los bisiestos, los 5 meses considerando "que meses" mas los 13 días,
me tiene que dar los 12,583 días "exactos"...
Como primera aproximación y pista, el siguiente seudo-algoritmo
Obtener los años "cumplidos"
Obtener los meses "cumplidos"
Obtener los días
Ahí esta la tarea, en cuanto alguien haga el algoritmo correcto, me
comprometo a hacer la función y la macro en OOo Basic...
Por ultimo, una curiosidad muy interesante y simpática...
http://www.inaoep.mx/~rincon/rotacion.html
Saludos a todos...
Mauricio
_________________________________
Todo lo que no es dado es perdido
-----Mensaje original-----
De: Computos Villa Elisa (ER) [mailto:[EMAIL PROTECTED]
Enviado el: mié 25/06/2008 10:21
Para: [email protected]
Asunto: [usr] Antiguedad laboral resuelto
Daniel ajunto un archivo livianito sobre cómo resolvió mi compañero de
oficina el problema.
Basicamente consiste en convertir a entero el año y luego ir
conviertiendo los restos de meses y días.
probalo y me contas.
Por ahí obtenemos alguna función nueva o alguna macrito de nuestros
colisteros....
Marcelo
Daniel Gustavo Vespo escribió:
La formula funciona, el tema es que tengo
ingreso fecha de prueba resultado
a b c
1 22/06/98 31/05/2008 usted tiene 09 años, 12 meses y 9
días
2 15/04/98 31/05/2008 usted tiene 10 años, 2 meses y 15
días
lo que veo es los años esta bien, resto cuando es menor el mes como en
el ejemplo 1, pero los meses en ese caso serian 11 y en ejemplo 2
seria 1 lo que hice es restar 1
="usted tiene "&DERECHA(AÑO(D$2-B5);2)&" años, "&MES(D$2-B5)-1&" meses
y "&DÍA(D$2-B5)&" días"
En la celda D$2 tengo la fecha actual y en la columna B a partir de la
fila 5 las fechas de ingreso.
Ahora en el ejemplo 1 los días están bien 31-22=9, pero en el ejemplo
2 31-15=16 y no 15 como da.
El tema que ese si que no se como corregir. De ultima para mi ya esta,
porque lo que me piden es que calcule antiguedad en meses y años, pero
por ahí alguien puede necesitar algo completito.
Muchisimas gracias por la gran ayuda que siempre brindan.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
__________ Información de NOD32, revisión 3225 (20080629) __________
Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com
--------------------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
__________ Informacisn de NOD32, revisisn 3225 (20080629) __________
Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]