Calcular el tiempo transcurrido

Calcular la diferencia entre dos fechas en Excel es algo muy sencillo. En este artículo mostraré cómo calcular ese tiempo transcurrido entre ambas fechar y presentar el resultado en diferentes unidades de tiempo como años, meses, semanas, etc.

Supongamos que tenemos la fecha de nacimiento de una persona y queremos calcular el tiempo que ha vivido hasta el día de hoy. Observa la siguiente imagen:

Obtener la diferencia entre dos fechas

Tiempo transcurrido en días

Puede observar que la línea que se encuentra sombreada es la de los días transcurridos y la razón principal es porque esa es la operación más sencilla de todas. Para obtener la cantidad de días entre dos fechas es suficiente con realizar una resta entre ambas. En este ejemplo la fórmula utilizada es:

=B3-B2

Excel regresar el tiempo transcurrido en días utilizando decimales y por motivos de presentación se los he removido, sin embargo tú puedes dejar el formato con decimales si así lo deseas.

Calcular las horas, minutos y segundos

El siguiente paso natural es calcular las horas, lo cual es sumamente sencillo una vez que tengo el número de días. Solamente debo multiplicar el resultado en días por 24:

=A8 * 24

Y una vez que tengo las horas puedo obtener los minutos haciendo una multiplicación por 60 que es la cantidad de minutos en una hora:

=A9 * 60

Finalmente, y como has de suponer, para obtener los segundos multiplico el resultado anterior de nuevo por 60:

=A10 * 60

De esa manera obtengo los segundos transcurridos entre ambas fechas.

Tiempo en semanas

Como puedes observar el cálculo de días es la parte central para el resto de cálculos y las semanas no son la excepción ya que las podemos obtener fácilmente realizando una simple división:

=A8 / 7

Días laborables

El cálculo de días laborales entre dos fechas ya no lo podemos realizar con una simple operación aritmética, pero afortunadamente existe la función DIAS.LAB la cual realiza el cálculo por nosotros, solamente es necesario especificar ambas fechas como los argumentos de la función y Excel nos devolverá el resultado correcto:

=DIAS.LAB(B2, B3)

Meses y años

Obtener los meses es una tarea un tanto más complicada, porque los meses no tienen la misma cantidad de días. Lo mismo sucede con los años ya que tenemos los años bisiestos los cuales tienen un día adicional.

Sin embargo Excel provee de una función que nos ayuda con este cálculo, pero debo advertirte que ésta no es una función tradicional, de hecho no la podrás encontrar en la documentación de Excel y sin embargo la podremos utilizar. La función es conocida como la función SIFECHA y aunque en este artículo no entraré en los detalles de ésta función observa cómo me ayuda a obtener los meses transcurridos entre dos fechas:

Función SIFECHA para calcular los meses entre dos fechas
De una manera similar, esta función obtiene los años transcurridos:
Función SIFECHA para obtener los años entre dos fechas

Espera el siguiente artículo donde hablaré con mucho más detalle sobre la función SIFECHA la cual ha permanecido oculta por mucho tiempo y aún sigue presente en Excel 2010.

Artículos relacionados
Fechas en Excel
Días laborales en Excel

34 comentarios en “Calcular el tiempo transcurrido

  1. julio ñustes

    Moises, de antemano le doy gracias por tus aportes, empece el día de hoy y mis intenciones es terminar con este curso, sobre la formula que haz dejado para obtener años y meses, las aplique pero salia un error y busque la formula correcta y resulta que tu formula esta separada por “,” coma…. =SIFECHA(B2,B3,”y”) y la que funciono es esta ….=SIFECHA(B2;B3;”y”) separada por “;” punto y coma. Te deseo muchos exitos

    1. Moisés Ortíz Autor

      Hola Julio, yo utilizo la coma “,” porque mi equipo tiene la configuración regional para México. Es probable que tu tengas una configuración regional diferente y por eso utilizas el punto y coma “;” para separar los argumentos de una función de Excel. Puedes leer más sobre esta diferencia en el siguiente artículo:
      https://exceltotal.com/separador-de-argumentos-de-funciones-en-excel/

  2. Edgar Jesús Burbano

    Amigo Moises cordial saludo desde el municipio de Ricaurte, departamento de Nariño en Colombia, trabajo bases de datos demográficas y para ello requiero con frecuencia cálculos de edad, por fortuna encontré este enlace contigo y deseo calcular las horas entre dos fechas(egreso hospitalario) para obtener el porcentaje ocupacional, la formula que propones es excelente, sin embargo la base de datos que poseo contiene fechas sin horas en el formato dd/mm/aaaa, que podría hacer. Gracias de antemano y éxitos, Atentamente Chucho

    1. Moisés Ortíz Autor

      Hola Chucho, me dices que deseas calcular las HORAS entre dos fechas pero que en los datos de origen ¿no tienes las HORAS? Entonces temo decirte que no puedes hacer absolutamente nada al respecto. Siempre tendrás una diferencia de 24 horas entre una fecha y otra.
      Creo que debes solicitar que comiencen a capturar las horas en la base de datos.

  3. Nico

    Hola Moises, te escribo desde Argentina. Te agradezco por este gran aporte es el mas claro que he visto. Mi duda es, que formato de celdas tengo que usar para que en una misma celda convivan la fecha y la hora? Solo hay que dejarla como formato general?

    1. Moisés Ortíz Autor

      Hola Nico, tienes que utilizar un formato de celda personalizado:
      dd/mm/aaaa hh:mm

  4. Manuel

    Hola Moises, como estas? tengo una duda sobre como calcular algo. Necesito realizar una formula en la que me apareza la fecha que sera dentro de 45 dias y actualizandose, es decir suponiendo que hoy es 1/11/2012, dentro de 45 dias sera 15/12/2012. Probe con la siguiente formula pero no se si esta bien, SIFECHA(hoy();hoy()+45;”MD”)
    Desde ya muchas gracias

    1. Moisés Ortíz Autor

      Hola Manuel, si lo único que necesitas es saber la fecha que será dentro de 45 días, entonces es suficiente con la función HOY:
      =HOY() + 45

  5. Gilberto

    Estimado Moises, estoy tratando de calcular los dias trasnscurridos entre una fecha x y la fecha actual, estoy utilizando la siguiente formula =hoy-A1, y me indica un error. me podrias ayudar. De antemano muchas gracias

    1. Moisés Ortíz Autor

      Hola Gilberto, lo correcto es utilizar =HOY()-A1

  6. Alberto

    Hola Moisés: Como puedo saber las horas trascurridas de una fecha a otra, es decir:
    12/01/2013 17:00 13/01/2013 20:00
    Cuantas horas transcurrieron?

    1. Moisés Ortíz Autor

      Hola Alberto, resta las celdas que contienen ambas fechas (ej. =B1-A1) y aplica el formato personalizado de celda [h]:mm y podrás ver la diferencia entre ambas fechas en horas y minutos.

  7. Philippe

    Estimado Moises: no me reconoce la funcion SIFECHA en exel 2010, he tratado, pero aparentemente lo solucione con tu formula de =HOY()-A1 y la personalizacion de la celda yyA- mmM que me da lo que necesito por ahora,que es la edad de un grupo de niños de mi escuela. lo que me quedo dando vueltas es por que no me reconoce la funcion..?? la busque en todo el exel y na ni na….. si pudieses explicar esto seria genial…. grax por tu constante aporte.

    1. Moisés Ortíz Autor

      Hola Philippe, Todos los ejemplos de este blog están hechos con Excel 2010 en español y no he tenido problema alguno con la función SIFECHA. La única razón que se me ocurre por ahora es que tuvieras Excel en inglés en cuyo caso el nombre de la función es DATEDIF.

  8. Luz

    Hola Moises, muchas gracias de antemano por tu ayuda. Quisiera saber porque cuando uso la funcion HOY, solo aparece la fecha y no la hora, minutos y segundos? Si cambio el formato de la celda, solo me aparece la hora 00,00,00 no la hora actual.
    Gracias mil.

    1. Moisés Ortíz Autor

      Hola Luz, la función HOY() solamente devuelve la fecha. Para obtener la fecha y la hora actual utiliza la función AHORA().

  9. Jose Lanz

    Buenos dias amigo, he tratado de hacer los pasos que me dices, pero he tenido problemas, con lo siguiente: Supongo que sera quizas por usar años anteriores a 1900, lo que me hace usar años en 4 digitos, pero no tengo la verdad idea de que sea, solo estoy divagando. El punto es que en el trabajo, para ciertos actos, necesitamos saber cuantos años han transcurrido desde nuestra independencia, y desde nuestra federacion. pero me gustaria saber cuantos años, meses y dias han transcurrido. La independencia de Venezuela fue el 19/04/1810 (19 de abril de 1810) La Federacion es 20/02/1859 (20 de febrero de 1859) Como hago para saber cuanto tiempo ha transcurrido desde esas dos fechas hasta hoy?
    Gracias!

    1. Moisés Ortíz Autor

      Hola José, la fecha mínima en Excel es el 01 de Enero de 1900 y no es posible modificar ese comportamiento.

  10. Angélica

    Muy agradecida porque de la nada misma de conocimiento en excel y gracias a tus explicaciones muy didacticas, al menos para mí, he logrado entender lo que hasta ahora me era dificultuoso. Excelente docente.
    Angélica

  11. omar

    Moises, esta formula sirve si en lugar de fechas tengo escrito los meses, por ejemplo solo tengo esscrito ENERO y quiero saber cuantos meses han pasado a JUNIO, y con la formula de SIFECHA no sale, habra algun otro metodo. Saludos y de antemano muchas gracias.

    1. Moisés Ortíz Autor

      Hola Omar, lamentablemente ningún método será útil porque solo tienes cadenas de texto y no un valor de fecha válido en Excel. Las funciones de fecha y tiempo solo sirven con datos que tienen un formato de fecha válido en Excel.

  12. felicia

    que bueno que exista exceltotal buenísimo

  13. ALENU HAU

    QUE TAL MOISES PARA CONTROL ESCOLAR ME PIDEN LA EDAD DE LOS NIÑOS COMPLETA. OSEA (AÑO Y MESES) EJEM- 6 AÑO 7 MESES QUE FORMULA DEVO USAR? YA QUE UNICAMENTO OBTENGO LA EDAD CERRADO CON ESTA FORMULA =ENTERO(FRAC.AÑO( ))

  14. carlos

    Buenas tardes, tengo que calcular en el trabajo las horas transcurridas entre varios días, pero solo dentro de un horario, Como tenemos jornada labora de 8 a 20 solo me interesa que cuente las horas trasncurridas dentro de ese horario

  15. Marco A.

    Encontré esta ayuda y lo único que deseo es agradecer infinitamente a Moisés Ortíz

  16. Esequiel

    Excelente, la función de días laborables es la que buscaba.
    Gracias!!

  17. JESSE

    Hola moises Gracias por compartir, solicito tu apoyo ya que no se como hacerlo, que dada una fecha de nacimiento me calcule los años, meses y dias de edad ya intente con algunos ejemplos pero no me sale
    Gracias anticipadas..

  18. Floalva

    Primeramente agradecerte. Implemente tu formula, para el calculo de tiempo transcurrido la cual es excelente, el hecho es, cuando el reporte me dan la misma fecha, o sea se entrego el mismo día, entonces la formula no nuestra nada. Por favor, como agregarle en ese caso un comentario, por ejemplo “Entrega inmediata”
    Mil gracias

    1. Moisés Ortíz Autor

      Hola Floalva, no me dices cual fórmula has implementado, así que supongo que te refieres a la función SIFECHA. Lo extraño es que esta función devuelve cero cuando las fechas son iguales. En fin, la idea es que debes utilizar la función SI para comparar el resultado de la fórmula, y en caso de cumplirse la condición indicada, desplegar el mensaje deseado. Por ejemplo:
      =SI(FECHA(A1, A2, “d”)=0, “Entrega inmediata”, SIFECHA(A1, A2, “d”))

      Si como dices, el resultado que tu estás obteniendo de la fórmula es una celda en blanco, entonces la condición de la función SI deberá hacer la comparación con una cadena vacía “”.

  19. VIKOS

    HOLA PERDON POR LA PREGUNTA PERO SI NO ME DA LA OPCION DE =SIFECHA?? ES DECIR NO ME LA RECONOCE QUE DEBO HACER SALUDOS Y GRACIAS.

    1. Moisés Ortíz Autor

      Hola Vikos, no me queda claro a que te refieres con “No me da la opción de =SIFECHA”, pero te puedo decir que esta función no la encontrarás en la lista de funciones, ni tampoco se mostrará ayuda alguna en la barra de fórmulas al momento de ingresarla. Solo debes utilizarla como se muestra en el artículo. Otra posibilidad es que tengas Excel en inglés y en ese caso deberás utilizar la función DATEDIF.