martes, 19 de febrero de 2008

FORMULA - Tiempo transcurrido entre 2 fechas

Tiempo transcurrido entre dos fechas

En el siguiente ejemplo, vamos a calcular el tiempo transcurrido entre dos fechas, evaluando los años, meses, y días transcurridos. Una de esas fechas, supondremos que corresponde a la fecha de hoy. La otra fecha será la fecha de nacimiento de una serie de personas. Vamos a calcular el tiempo transcurrido desde el día de su nacimiento, hasta hoy.


ver esta imagen:


Antes de nada, comentaros que el texto "años", "meses", y "días", que se muestra en las celdas C5, D5 y E5 lo podríamos haber puesto de muchas formas distintas, pero he optado por hacerlo dándole formato a las celdas, desde Formato, Celdas…, y en la pestaña Número, dentro de la categoría Personalizada, poniendo para el caso de C5, esto que aparece en la imagen (en el caso de D5 y E5 será similar, pero poniendo texto "meses", "días", y "años"):



Si te fijás, en la celda C5 de la primera imagen, es donde evaluamos los años transcurridos. Tenemos esta fórmula:

=SIFECHA(B5;C$2;"y")

El símbolo del $ nos indica que estamos trabajando con una referencia absoluta, así podremos copiar esa fórmula de C5 en las celdas que hay por debajo, sin necesidad de tener que cambiar ningún dato de la misma. Estamos utilizando la función SIFECHA, que consta de tres partes. La primera de ellas corresponde a la fecha final (la fecha más actual), la segunda corresponde a la fecha inicial (la fecha más antigua), y la tercera parte, la más importante, corresponde al periodo a evaluar, en este caso los años transcurridos (en números enteros), por eso utilizamos "y" (y = years, es decir, años). Es decir, esa fórmula nos está informando del número de años enteros que han transcurrido entre esas dos fechas.


En la celda D5, donde evaluamos los meses transcurridos, tenemos algo parecido:

=SIFECHA(B5;C$2;"ym")

Esta fórmula, se diferencia de la anterior en el tercer término, donde ahora aparece "ym". Esta parte nos viene a decir que queremos mostrar los meses (también en números enteros) m (m = months, es decir, meses) que pasen de los años enteros y. Si en lugar de poner en ese tercer término ym, hubiésemos puesto m, habríamos obtenido 478 meses, en lugar de 10. La razón es muy sencilla: con m obtenemos los meses transcurridos desde esas dos fechas (la inicial y la final), mientras que con ym solo obtenemos aquellos meses que han transcurrido desde el último año entero (en este caso, 39), y que todavía no llegan para formar otro año, es decir, no llegan a 12 meses.


En la celda E5, tenemos esta función, donde evaluaremos los días transcurridos:

=SIFECHA(B5;C$2;"md")

En este caso, el md del tercer término nos informa de que queremos obtener los días que hayan transcurrido desde el último mes entero. Como en el ejemplo de E5, no llegamos a obtener 11 meses (son 10 meses y pico como ves en la tabla, y precisamente lo que deseamos obtener ese "pico"). Si hubiésemos puesto d, en lugar de md, habríamos obtenido 14.562 días, en lugar de los 13 días que hemos obtenido. La razón es similar al caso anterior de los meses. Utilizando d (d = days, es decir, días), estamos obteniendo la diferencia en días entre la fecha inicial y final. Con md solo mostramos los días d que han transcurrido desde el último mes entero m (desde el mes 10, en adelante).

Si deseamos unir esos tres datos, en una sola celda, podemos concatenarlos (unirlos) con el operador &, al que le añadiremos entre comillas, un texto que informará de si son años, meses, o días. Por ejemplo, en F5 tenemos esta fórmula (debes ponerla toda en una línea, aunque yo la he puesto en dos para que no se descoloque en pantalla):


=SIFECHA(B5;C$2;"y") & " años " & SIFECHA(B5;C$2;"ym") &
" meses " & SIFECHA(B5;C$2;"md") & " días"

Para calcular la diferencia entre dos fechas, podemos utilizar las siguientes opciones:

=SIFECHA(fecha_final;fecha_inicial;"y")
=SIFECHA(fecha_final;fecha_inicial;"m")
=SIFECHA(fecha_final;fecha_inicial;"d")
=SIFECHA(fecha_final;fecha_inicial;"ym")
=SIFECHA(fecha_final;fecha_inicial;"yd")
=SIFECHA(fecha_final;fecha_inicial;"md")

Cuando en el tercer término utilizamos dos elementos, siempre el primero de ellos debe ser mayor que el segundo, de ahí que pongamos ym, yd, o md. Si utilizamos dm, my, dy, nos dará error por motivos obvios (de igual forma que solo podemos meter un recipiente pequeño en uno grande, y no al revés). En el caso de utilizar ym, estaremos obteniendo el número de días que hayan transcurrido desde el último año entero. Siempre obtendremos por tanto, 365 días como máximo, ya que en cuanto pasemos 1 día de esas dos cifras, ya tendremos un nuevo año entero.

Fuente: http://hojas-de-calculo-en-excel.blogspot.com