Ayuda para calcular la antigüedad de un empleado

Buenos días, me urge que me ayuden,
Tengo la siguiente fecha de entrada de un empleado: 04-09-2003, como hago para obtener en Excel 2007 la antigüedad laboral por años, días y meses y que se actualice todos los días con el reloj interno de la computadora.
1

1 respuesta

1
Respuesta de
Hay dos formas de hacerlo, una, usando una fórmula extraña que trae excel, pero no es muy exacto, la otra es hacer nuestras propias fórmulas, que son exactas, sólo que todos los meses los tomamos como de 30 días.
_
_
En un libro nuevo colocar:
En a1
Fecha inicial
En a2
Fecha final
_
Usando la fórmula frac.año de excel, podemos calcular, pero no es muy exacto.
Fórmula para calcular años:
_
=entero(frac.año(a1;a2;1))
_
f. para meses:
=entero(entero((frac.año(a1;a2;1)-entero(frac.año(a1;a2;1)))*365)/30)
_
f. para días:
=((entero((frac.año(a1;a2;1)-entero(frac.año(a1;a2;1)))*365)/30)-entero(entero((frac.año(a1;a2;1)-entero(frac.año(a1;a2;1)))*365)/30))*30
_
_________________________________________________________________________
Pero como te decía, estas fórmulas, usando la fórmula frac.año de excel, no son muy exactas, te recomiendo las mías:
_
en a4:
=si(mes(a2)>mes(a1);año(a2)-año(a1);si(mes(a1)>mes(a2);año(a2)-año(a1)-1;si(mes(a1)=mes(a2);si(dia(a2)>=dia(a1);año(a2)-año(a1);año(a2)-año(a1)-1))))
_
en a5:
=si(mes(a2)>mes(a1);si(dia(a2)>=dia(a1);mes(a2)-mes(a1);mes(a2)-mes(a1)-1);si(mes(a1)>mes(a2);si(dia(a2)>=dia(a1);mes(a2)+12-mes(a1);mes(a2)+11-mes(a1));si(y(mes(a2)=mes(a1);dia(a2)>=dia(a1));0;si(mes(a2)=mes(a1);11))))
_
en a6:
=si(dia(a2)>dia(a1);dia(a2)-dia(a1);si(dia(a2)=dia(a1);dia(a1)-dia(a2);30-dia(a1)+dia(a2)))
_
en b4:
=si(a4>0;concatenar(a4;" años");"")
_
en b5:
=si(a5>0;si(a5>1;concatenar(" ";a5;" meses");concatenar(" ";a5;" mes"));"")
_
en b6:
=si(a6>0;si(a6>1;concatenar(" ";a6;" días");concatenar(" ";a6;" día"));"")
_
en a8:
"concatenado:"
_
en b8:
=concatenar(si(a4>0;concatenar(a4;" años");"");si(a5>0;si(a5>1;concatenar(" ";a5;" meses");concatenar(" ";a5;" mes"));"");si(a6>0;si(a6>1;concatenar(" ";a6;" días");concatenar(" ";a6;" día"));""))
_
_
La cuenta de los días de la anterior fórmula para a6 se basa en meses de 30 días, si quieres que la cuenta de los días se base en el mes respectivo, la fórmula para el cálculo de días, quedaría un poco más larga, sería:
_
en a6:
=si(dia(a2)>dia(a1);dia(a2)-dia(a1);si(dia(a2)=dia(a1);dia(a1)-dia(a2);si(o(mes(a1)=1;mes(a1)=3;mes(a1)=5;mes(a1)=7;mes(a1)=8;mes(a1)=10;mes(a1)=12);31;si(o(mes(a1)=4;mes(a1)=6;mes(a1)=9;mes(a1)=11);30;si(residuo(año(a2);4)=0;29;28)))-dia(a1)+dia(a2)))
_
esta también tiene en cuenta si el año, de la fecha final, es bisiesto. :)
_
_
"el conocimiento le pertenece al mundo"
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje

Más respuestas relacionadas

¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: