¿Cómo calcular de fecha a fecha en Excel?

¿Cómo Calcular el Tiempo entre Dos Fechas en Excel?

02/11/2022

Valoración: 3.91 (11155 votos)

Calcular la cantidad de tiempo entre dos fechas es una tarea fundamental en una multitud de escenarios, ya sea para determinar la edad de una persona, la duración de un proyecto, el tiempo de servicio de un empleado, o simplemente para llevar un control de plazos y vencimientos. Excel, con su robusta capacidad para manejar datos numéricos y de fecha, se convierte en una herramienta indispensable para realizar estos cálculos con precisión y eficiencia. Aunque a primera vista pueda parecer complejo, Excel ofrece varias funciones y métodos que simplifican enormemente esta labor. En este artículo, exploraremos en detalle las diversas formas de obtener la diferencia de tiempo entre dos fechas, desde la resta más básica hasta el uso de funciones más avanzadas, asegurándonos de que domines cada técnica.

¿Cómo se calculan los meses?
Divide el número de días por 30.44 para convertirlos en meses, ya que hay meses con días distintos y la media es de 30.44 días, por ejemplo: 90 días serán 3 meses, o aproximadamente 2,95 meses.

La clave para entender cómo Excel maneja las fechas radica en que las almacena como números de serie. El 1 de enero de 1900 es el número de serie 1, el 2 de enero de 1900 es el número de serie 2, y así sucesivamente. Esto permite realizar operaciones aritméticas con ellas como si fueran números normales, lo cual es la base de muchos de los métodos que veremos a continuación. Comprender este concepto es el primer paso para desbloquear todo el potencial de cálculo de fechas en Excel.

Índice de Contenido

Método 1: Resta Simple de Fechas para Obtener Días Completos

El método más directo y sencillo para calcular la diferencia entre dos fechas es simplemente restarlas. Cuando restas una fecha inicial de una fecha final, Excel te devolverá el número de días completos que han transcurrido entre ambas. Este método es ideal cuando tu objetivo es obtener únicamente la cantidad total de días.

Cómo funciona:

  • Introduce la fecha inicial en una celda (por ejemplo, A1).
  • Introduce la fecha final en otra celda (por ejemplo, B1).
  • En una tercera celda, ingresa la fórmula: =B1-A1

Ejemplo práctico:

  • Fecha de inicio de un proyecto (A1): 01/01/2023
  • Fecha de fin de un proyecto (B1): 31/01/2023
  • Fórmula en C1: =B1-A1
  • Resultado: 30 (días)

Es importante asegurarse de que ambas celdas (A1 y B1 en este ejemplo) estén formateadas como 'Fecha' para que Excel las interprete correctamente. Si el resultado aparece como una fecha extraña, simplemente cambia el formato de la celda donde está el resultado a 'General' o 'Número'. Este método es útil para cálculos rápidos, pero tiene la limitación de que solo te proporciona el resultado en días, sin desglosarlo en años, meses o semanas.

Método 2: La Potente Función SIFECHA (DATEDIF)

La función SIFECHA (en inglés, DATEDIF) es una de las funciones más versátiles y, curiosamente, menos conocidas de Excel. No aparece en la lista de funciones en el asistente de funciones de Excel, pero es extremadamente útil para calcular la diferencia entre dos fechas en diferentes unidades de tiempo (años, meses, días). Es la opción preferida cuando necesitas un desglose preciso del tiempo transcurrido.

Sintaxis de SIFECHA:

=SIFECHA(fecha_inicio, fecha_fin, unidad)
  • fecha_inicio: La fecha de inicio del período.
  • fecha_fin: La fecha de fin del período.
  • unidad: Una cadena de texto que especifica la unidad de tiempo que deseas obtener.

Unidades de medida disponibles para unidad:

  • "y": Devuelve el número de años completos transcurridos entre las dos fechas.
  • "m": Devuelve el número de meses completos transcurridos entre las dos fechas.
  • "d": Devuelve el número de días completos transcurridos entre las dos fechas.
  • "ym": Devuelve el número de meses completos restantes después de haber restado los años completos.
  • "yd": Devuelve el número de días completos restantes después de haber restado los años completos.
  • "md": Devuelve el número de días completos restantes después de haber restado los meses completos.

Ejemplos detallados de SIFECHA:

Supongamos que en A1 tenemos 01/05/1990 (fecha de nacimiento) y en B1 tenemos 15/03/2023 (fecha actual).

  • Calcular años completos:
    =SIFECHA(A1, B1, "y")
    Resultado: 32 (años completos)
  • Calcular meses completos:
    =SIFECHA(A1, B1, "m")
    Resultado: 394 (meses completos)
  • Calcular días completos:
    =SIFECHA(A1, B1, "d")
    Resultado: 12003 (días completos)
  • Calcular meses después de años completos ("ym"):
    =SIFECHA(A1, B1, "ym")
    Resultado: 10 (meses restantes después de los años completos. De mayo a marzo del siguiente año son 10 meses)
  • Calcular días después de años completos ("yd"):
    =SIFECHA(A1, B1, "yd")
    Resultado: 318 (días restantes después de los años completos. Del 01/05/1990 al 15/03/1991, pero contando los días que quedan en el año del cumpleaños y los que van del nuevo año hasta la fecha final.)
  • Calcular días después de meses completos ("md"):
    =SIFECHA(A1, B1, "md")
    Resultado: 14 (días restantes después de los meses completos. Del 1 de un mes al 15 del mismo mes, son 14 días)

Combinar unidades para un resultado legible (Ej: "X años, Y meses, Z días"):

Esta es una de las aplicaciones más poderosas de SIFECHA. Puedes concatenar varias llamadas a SIFECHA para obtener una descripción completa del tiempo transcurrido. Por ejemplo, para calcular una edad exacta:

=SIFECHA(A1, B1, "y") & " años, " & SIFECHA(A1, B1, "ym") & " meses y " & SIFECHA(A1, B1, "md") & " días"

Para las fechas de ejemplo (01/05/1990 y 15/03/2023), el resultado sería: 32 años, 10 meses y 14 días. Esta fórmula es increíblemente útil para mostrar duraciones en un formato comprensible para el usuario.

Método 3: Cálculo de Días Laborables con DIAS.LAB y DIAS.LAB.INTL

En muchos contextos, no nos interesan todos los días transcurridos, sino solo los días laborables (excluyendo fines de semana y festivos). Excel nos proporciona funciones específicas para esto.

Función DIAS.LAB (NETWORKDAYS)

La función DIAS.LAB calcula el número de días laborables completos entre dos fechas, excluyendo sábados y domingos de forma predeterminada, y opcionalmente, una lista de festivos.

Sintaxis:

=DIAS.LAB(fecha_inicial, fecha_final, [días_no_laborables])
  • fecha_inicial: La fecha de inicio del período.
  • fecha_final: La fecha de fin del período.
  • [días_no_laborables]: (Opcional) Un rango de celdas que contiene las fechas de los días festivos que también deben excluirse.

Ejemplo:

  • Fecha de inicio (A1): 01/01/2024
  • Fecha de fin (B1): 31/01/2024
  • Días festivos (rango C1:C2): 01/01/2024, 06/01/2024
  • Fórmula: =DIAS.LAB(A1, B1, C1:C2)
  • Resultado: 21 (días laborables)

Función DIAS.LAB.INTL (NETWORKDAYS.INTL)

Esta función es una mejora de DIAS.LAB, permitiendo especificar qué días de la semana se consideran fines de semana. Esto es crucial para países donde el fin de semana no es sábado y domingo.

Sintaxis:

=DIAS.LAB.INTL(fecha_inicial, fecha_final, [fin_de_semana], [días_no_laborables])
  • [fin_de_semana]: (Opcional) Un número o una cadena que indica qué días son fines de semana.

Códigos para [fin_de_semana]:

  • 1 o omitido: Sábado, Domingo
  • 2: Domingo, Lunes
  • 3: Lunes, Martes
  • ...
  • 7: Viernes, Sábado
  • 11: Domingo (solo)
  • 12: Lunes (solo)
  • ...
  • 17: Sábado (solo)

También puedes usar una cadena de 7 unos y ceros ("0000011" para sábado y domingo, donde 0 es laborable y 1 es no laborable, empezando por lunes).

Ejemplo:

  • Fecha de inicio (A1): 01/01/2024
  • Fecha de fin (B1): 31/01/2024
  • Fines de semana: Domingo y Lunes (código 2)
  • Días festivos (rango C1:C2): 01/01/2024, 06/01/2024
  • Fórmula: =DIAS.LAB.INTL(A1, B1, 2, C1:C2)
  • Resultado: 20 (días laborables, excluyendo domingos y lunes, y los festivos)

Método 4: Cálculo de Diferencia de Tiempo (Horas, Minutos, Segundos)

Así como las fechas se almacenan como números de serie, las horas se almacenan como fracciones de día. Por ejemplo, 12:00 PM es 0.5 (medio día), 6:00 AM es 0.25, etc. Esto permite restar horas de la misma manera que restas fechas.

Cómo funciona:

  • Introduce la hora inicial en una celda (por ejemplo, A1).
  • Introduce la hora final en otra celda (por ejemplo, B1).
  • En una tercera celda, ingresa la fórmula: =B1-A1

Ejemplo práctico:

  • Hora de inicio (A1): 09:00
  • Hora de fin (B1): 17:30
  • Fórmula en C1: =B1-A1
  • Resultado: 0.354166666666667 (Esto es una fracción de día)

Para ver este resultado como una duración de tiempo (horas:minutos), debes aplicar un formato de celda adecuado. Haz clic derecho en la celda del resultado, selecciona 'Formato de celdas...', ve a la pestaña 'Número', selecciona 'Personalizada' y usa un formato como [h]:mm:ss o [h]:mm. Los corchetes alrededor de la 'h' son importantes si la duración puede exceder las 24 horas, ya que de lo contrario, el tiempo se reiniciaría después de 24 horas.

Resultado formateado:8:30

Si necesitas calcular la diferencia entre fechas y horas combinadas, la resta simple sigue siendo el camino. Por ejemplo, si A1 es 01/01/2024 09:00 y B1 es 02/01/2024 17:30, la fórmula =B1-A1 te dará 1.354166666666667. Al formatear como [h]:mm obtendrás 32:30 (32 horas y 30 minutos).

Tabla Comparativa de Métodos para Calcular Diferencias de Tiempo

Para ayudarte a elegir el método más adecuado, aquí tienes una tabla resumen:

MétodoFórmula PrincipalQué CalculaCuándo Usarlo
Resta Simple de Fechas=Fecha_Fin - Fecha_InicioNúmero total de días.Cuando solo necesitas los días completos.
SIFECHA (DATEDIF)=SIFECHA(Inicio, Fin, "unidad")Años, meses o días completos, o componentes restantes.Para calcular edades exactas o duraciones en formato "X años, Y meses, Z días".
DIAS.LAB (NETWORKDAYS)=DIAS.LAB(Inicio, Fin, [Festivos])Número de días laborables (lun-vie) excluyendo festivos.Para gestión de proyectos y plazos que excluyen fines de semana estándar.
DIAS.LAB.INTL (NETWORKDAYS.INTL)=DIAS.LAB.INTL(Inicio, Fin, [FindeSemana], [Festivos])Número de días laborables con fines de semana personalizables y festivos.Cuando los fines de semana no son sábado y domingo, o para mayor flexibilidad.
Resta Simple de Horas/Fechas y Horas=Hora_Fin - Hora_InicioDiferencia en horas, minutos y segundos.Para calcular duraciones de eventos, turnos de trabajo o tiempos transcurridos en el día.

Consejos Adicionales y Errores Comunes

1. El Crucial Formato de Celda

El formato de celda es, sin duda, uno de los aspectos más importantes al trabajar con fechas y horas en Excel. Si tus resultados no son los esperados (por ejemplo, ves un número decimal muy largo en lugar de una duración de tiempo, o una fecha en lugar de un número de días), lo más probable es que el formato de la celda de resultado sea incorrecto. Recuerda:

  • Para días: Formato 'General' o 'Número'.
  • Para horas/minutos/segundos: Formato 'Hora' o 'Personalizada' (ej. [h]:mm:ss).

Para cambiar el formato, selecciona la celda o rango de celdas, haz clic derecho y elige 'Formato de celdas...' (o presiona Ctrl + 1).

2. Orden de las Fechas

Asegúrate siempre de que la fecha inicial sea anterior a la fecha final en tus fórmulas. Si la fecha inicial es posterior a la fecha final, obtendrás un resultado negativo. Aunque Excel maneja esto, un resultado negativo puede ser confuso si esperas una duración positiva.

3. Errores Comunes (#VALOR!)

Si obtienes el error #VALOR!, esto suele indicar que Excel no puede interpretar una de las entradas como una fecha o una hora válida. Esto puede ocurrir si:

  • Estás mezclando formatos de fecha (por ejemplo, algunos datos son texto).
  • Hay espacios extra o caracteres no numéricos en las celdas de fecha.
  • Estás usando un separador de fecha incorrecto para tu configuración regional (por ejemplo, puntos en lugar de barras).

Para solucionar esto, verifica el formato de las celdas de origen y asegúrate de que Excel las reconozca como fechas. Puedes usar la función ESFECHA() para verificar si una celda contiene una fecha válida.

4. Uso de la Función AHORA()

Si necesitas calcular el tiempo transcurrido entre una fecha pasada y el momento actual, puedes usar la función AHORA() (o TODAY() para solo la fecha). Por ejemplo, para calcular la edad exacta de una persona hasta el día de hoy:

=SIFECHA(A1, AHORA(), "y") & " años, " & SIFECHA(A1, AHORA(), "ym") & " meses y " & SIFECHA(A1, AHORA(), "md") & " días"

Donde A1 contiene la fecha de nacimiento. Ten en cuenta que AHORA() se actualiza cada vez que el libro de Excel se recalcula.

5. Fechas en Formato de Texto

Si tienes fechas que Excel interpreta como texto (por ejemplo, porque fueron importadas de otro sistema), las fórmulas de fecha no funcionarán. Puedes intentar convertirlas usando la función FECHANUMERO() (DATEVALUE) o VALOR.NUMERO() (VALUE), o el asistente 'Texto en columnas' de Excel.

Preguntas Frecuentes (FAQ)

¿Por qué mi resultado es un número decimal muy largo en lugar de una duración de tiempo?

Esto ocurre porque Excel almacena las horas como fracciones de día. Un resultado como 0.354166666666667 significa que la duración es 0.354 de un día completo. Para ver esto como horas y minutos (ej. 8:30), debes cambiar el formato de celda del resultado a un formato de hora personalizado, como [h]:mm o [h]:mm:ss. Los corchetes alrededor de la 'h' son cruciales si la duración puede ser mayor a 24 horas.

¿Cómo puedo calcular la edad exacta de una persona en años, meses y días?

La forma más precisa y recomendada es utilizar la función SIFECHA. Si la fecha de nacimiento está en la celda A1 y la fecha actual (o la fecha de referencia) en B1, la fórmula sería:

=SIFECHA(A1, B1, "y") & " años, " & SIFECHA(A1, B1, "ym") & " meses y " & SIFECHA(A1, B1, "md") & " días"

Esta fórmula concatena los años completos, los meses restantes después de los años completos y los días restantes después de los meses completos, proporcionando un desglose exacto de la edad.

¿Existe una forma sencilla de calcular el número de semanas entre dos fechas?

Sí, puedes hacerlo combinando la resta simple de fechas con una división. Primero, obtén el número total de días entre las dos fechas y luego divídelo por 7. Por ejemplo, si A1 es la fecha de inicio y B1 es la fecha de fin:

=(B1-A1)/7

Esto te dará el número de semanas (posiblemente con decimales). Si quieres solo las semanas completas, puedes usar la función ENTERO() (INT) para redondear hacia abajo: =ENTERO((B1-A1)/7).

¿Qué hago si quiero calcular cuántos días faltan para una fecha futura?

Simplemente resta la fecha actual (o la fecha de hoy) de la fecha futura. Si la fecha futura está en A1, y quieres saber cuántos días faltan desde hoy, la fórmula sería:

=A1 - HOY()

La función HOY() devuelve la fecha actual sin la hora, y se actualiza cada vez que abres o recalculas la hoja de cálculo. Si necesitas incluir la hora actual, usa AHORA() en su lugar.

¿Puedo calcular el número de horas o minutos exactos entre dos fechas y horas?

Sí, puedes. Si tienes una fecha y hora de inicio en A1 y una fecha y hora de fin en B1, la resta =B1-A1 te dará la diferencia en fracciones de día. Para convertir esto a horas, multiplica por 24; para minutos, multiplica por 24 * 60 (es decir, 1440); y para segundos, multiplica por 24 * 60 * 60 (es decir, 86400).

Ejemplo para horas: =(B1-A1)*24 (formato de celda 'General' o 'Número').
Ejemplo para minutos: =(B1-A1)*1440 (formato de celda 'General' o 'Número').

Conclusión

Calcular la cantidad de tiempo entre dos fechas en Excel es una habilidad esencial que te permitirá realizar análisis de datos más profundos y gestionar información de manera más efectiva. Hemos explorado desde la simple resta de fechas para obtener días hasta el uso avanzado de la función SIFECHA para desgloses detallados, pasando por las funciones de días laborables para contextos específicos de proyectos y horarios. La clave del éxito reside en comprender cómo Excel interpreta las fechas y horas (como números de serie y fracciones de día, respectivamente) y en aplicar el formato de celda correcto para visualizar los resultados deseados. Con la práctica y el uso de estas herramientas, podrás manejar cualquier cálculo de tiempo que se te presente en tus hojas de cálculo de Excel, optimizando tu productividad y la claridad de tus informes.

Si quieres conocer otros artículos parecidos a ¿Cómo Calcular el Tiempo entre Dos Fechas en Excel? puedes visitar la categoría Cálculos.

Subir