KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo calcular el tiempo transcurrido —en días, meses o años— entre dos fechas y horas en Excel?

AutorSun Fecha de modificación

Al gestionar horarios, seguir cronogramas de proyectos o analizar registros de eventos en Excel, suele necesitar determinar cuánto tiempo ha transcurrido entre dos momentos específicos. Por ejemplo, si dispone de dos listas —una con horas de inicio y otra con horas de finalización—, podrá calcular rápidamente el tiempo transcurrido para cada par en la misma fila, tal como muestra la siguiente captura de pantalla. Esta funcionalidad resulta especialmente útil para informes de jornadas laborales, cálculos de antigüedad o seguimiento de plazos.
Una captura de pantalla que muestra una lista de horas de inicio y fin en Excel

Calcular el tiempo transcurrido/días/meses/años con fórmula

Usar código VBA para calcular directamente el tiempo transcurrido


Calcular el tiempo transcurrido/días/meses/años con fórmula

Calcular el tiempo transcurrido

Excel facilita el cálculo de la diferencia entre dos horas, ideal para escenarios como el seguimiento de turnos de empleados, el cálculo de tiempos de respuesta o el control del avance de un proyecto. Para horas del mismo día, siga estos pasos:

1. Haga clic en una celda vacía donde desee que aparezca el tiempo transcurrido (por ejemplo, la celda C2) e introduzca la siguiente fórmula:

=IF(B2<A2,1+B2-A2, B2-A2)
La celda A2 debe contener la hora de inicio y la B2, la hora de finalización. Esta fórmula gestiona los casos en que la hora de finalización sea anterior a la de inicio —por ejemplo, turnos que cruzan la medianoche— garantizando un cálculo siempre preciso.

2. Tras introducir la fórmula, pulse Intro. Para aplicarla al resto de filas, utilice el controlador de relleno: haga clic en el pequeño cuadrado situado en la esquina inferior derecha de la celda y arrástrelo hacia abajo hasta cubrir los registros adicionales. ¡Así calculará los tiempos transcurridos para múltiples entradas en un instante!

3. Con las celdas de resultado seleccionadas, haz clic con el botón derecho para abrir el menú contextual y elige Establecer formato de celda. En el cuadro de diálogo Establecer formato de celda, en la pestaña Número, selecciona Hora en la lista de la izquierda. A la derecha, elige el formato de hora que prefieras (como hh:mm, h:mm:ss, etc.) para mostrar los resultados como tiempos transcurridos claros y legibles.
Una captura de pantalla que muestra el cuadro de diálogo Formato de celdas para establecer formatos de hora en Excel

4. Haga clic en Aceptar para aplicar el formato. Los valores de tiempo se mostrarán ahora según su selección, lo que facilitará la interpretación de las duraciones totales.

Consejos adicionales:

  • Asegúrese de que tanto las columnas de hora de inicio como las de hora de finalización estén formateadas como horas válidas en Excel para evitar errores.
  • Si prevé que algunas horas de finalización correspondan al día siguiente (por ejemplo, en turnos nocturnos), la fórmula anterior lo tiene en cuenta sumando 1 —equivalente a un día completo— cuando sea necesario.
  • Si aparece el error «#¡VALOR!», compruebe si hay celdas vacías o entradas con formato incorrecto en las celdas de origen.

Calcular días, meses o años transcurridos

Calcular el número de días, meses o años entre dos fechas es una tarea habitual en la planificación de proyectos, en la determinación de periodos de servicio o en cálculos de edad. A continuación, se presenta un enfoque eficaz para cada caso:

Para días transcurridos, haga clic en una celda vacía (por ejemplo, C2) e introduzca la fórmula:

=B2-A2
Aquí, A2 es la fecha de inicio y B2 es la fecha de fin. Tras pulsar Intro, arrastre el controlador de relleno hacia abajo para aplicar el cálculo a filas adicionales.
Una captura de pantalla que muestra la fórmula para calcular días transcurridos en Excel

Notas: Asegúrese de que ambas fechas utilicen el formato de fecha de Excel; de lo contrario, el resultado podría ser incorrecto. Si prefiere contar únicamente días completos (ignorando horas y minutos), esta fórmula es la adecuada.

Para calcular los meses entre dos fechas, introduzca en una celda vacía:

=DATEDIF(A2,B2,"m")
Esta fórmula devuelve el número de meses completos transcurridos. Si los meses parciales son relevantes, también puede mostrar meses fraccionarios combinándolos con los días.

Para años (incluyendo fracciones de año), use:

=DATEDIF(A2,B2,"y")
Si desea los años en formato decimal, puede probar con =DATEDIF(A2,B2,"m")/12y formatea la celda de resultado como número para obtener una mayor precisión.

Precauciones:

  • Si la fecha de fin precede a la fecha de inicio, estas fórmulas devolverán valores negativos; considere añadir validación.
  • Asegúrese de escribir DATEDIF con cuidado; un error ortográfico hará que Excel muestre el error «#¿NOMBRE?», ya que esta función no aparece en el menú estándar de funciones.

Calcular años, meses y días transcurridos en un formato combinado

Si su tarea requiere un desglose más detallado (por ejemplo, «2 años, 6 meses y 19 días»), Excel puede lograrlo mediante la función DATEDIF combinada. Esta solución es ideal para calcular la antigüedad de empleados, edades o cualquier escenario que exija una separación clara en años, meses y días.

Seleccione una celda vacía (por ejemplo, C2) e introduzca la siguiente fórmula:

=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"
Luego pulse IntroEsto combina varios cálculos de DATEDIF para generar una cadena clara y legible que muestra con precisión el período de tiempo transcurrido.
Una captura de pantalla que muestra la fórmula para calcular años, meses y días entre dos fechas en Excel

Si necesita aplicar la fórmula a varias filas, utilice el controlador de relleno como antes. Le recomendamos formatear la columna resultante como «General» para asegurar que el texto se muestre correctamente.

Consejo útil: Si su cálculo incluye un año bisiesto o fechas con meses de distinta duración, puede estar seguro de que DATEDIF realiza los cálculos con precisión según los meses y años del calendario.

Solución de problemas y recordatorios:

  • Revise siempre sus datos de origen en busca de celdas vacías o formatos de fecha y hora incorrectos.
  • Si detecta errores, intente reformatear las columnas de entrada como «Fecha» u «Hora» para estandarizar los datos.
  • Si las fórmulas no se actualizan después de editar la celda de origen, pulse F9 para forzar el recálculo o verifique que el cálculo automático esté activado en las opciones de Excel.

Código VBA para calcular el tiempo transcurrido entre dos fechas y horas

Si necesita automatizar cálculos o procesar grandes volúmenes de datos, VBA es una herramienta extremadamente útil. Por ejemplo, puede combinar los resultados del tiempo transcurrido en una sola celda o adaptar el cálculo a sus necesidades específicas.

1. Vaya a Herramientas para desarrolladores > Visual Basic; aparecerá una nueva ventana de Microsoft Visual Basic para Aplicaciones. Haga clic en Insertar > Módulo y pegue el siguiente código:

Sub CalcElapsedTimeBySelection()
    Dim startRange As Range
    Dim endRange As Range
    Dim outputCell As Range
    Dim ws As Worksheet
    Dim i As Long
    Dim rowCount As Long
    Dim elapsedTime As Double
    Dim startTime As Variant, endTime As Variant
    Dim xTitleId As String
    
    xTitleId = "Kutools for Excel"
    On Error Resume Next
    
    ' Prompt user for ranges
    Set startRange = Application.InputBox("Select the range for Start Time:", xTitleId, Type:=8)
    If startRange Is Nothing Then Exit Sub
    
    Set endRange = Application.InputBox("Select the range for End Time:", xTitleId, Type:=8)
    If endRange Is Nothing Then Exit Sub
    
    Set outputCell = Application.InputBox("Select the top-left cell for output results:", xTitleId, Type:=8)
    If outputCell Is Nothing Then Exit Sub
    
    On Error GoTo 0
    
    ' Check matching range sizes
    If startRange.Rows.Count <> endRange.Rows.Count Then
        MsgBox "The start and end time ranges must have the same number of rows.", vbExclamation, xTitleId
        Exit Sub
    End If
    
    ' Loop through rows
    rowCount = startRange.Rows.Count
    For i = 1 To rowCount
        startTime = startRange.Cells(i, 1).Value
        endTime = endRange.Cells(i, 1).Value
        
        If IsNumeric(startTime) And IsNumeric(endTime) Then
            elapsedTime = CDbl(endTime) - CDbl(startTime)
            ' Handle next-day (cross-midnight) case
            If elapsedTime < 0 Then elapsedTime = elapsedTime + 1
            outputCell.Offset(i - 1, 0).Value = elapsedTime
            outputCell.Offset(i - 1, 0).NumberFormat = "[h]:mm:ss"
        Else
            outputCell.Offset(i - 1, 0).Value = "Invalid Time"
        End If
    Next i
    
    MsgBox "Elapsed times calculated successfully for " & rowCount & " rows.", vbInformation, xTitleId
End Sub

2. Haga clic en el botón Botón Ejecutar para ejecutar el código. Se le pedirá que seleccione el rango de tiempo de inicio, el rango de tiempo de finalización y dónde desea que se muestre el tiempo transcurrido. El resultado aparecerá en formato de hora.

Este enfoque con VBA resulta especialmente eficaz cuando desea personalizar aún más el cálculo o el formato y ahorrar tiempo al trabajar con hojas de cálculo muy extensas.


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...


Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
  • ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!

Todos los complementos de Kutools en un solo instalador.

Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.

ExcelWordOutlookTabsPowerPoint
  • Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
  • Un instalador, una licencia— configuración en minutos (compatible con MSI)
  • Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
  • Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
  • La mejor relación calidad-precio— ahorre frente a la compra individual de complementos