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] > > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
