KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como calcular o tempo decorrido — em dias, meses ou anos — entre duas datas e horas no Excel?

AutorSun Data de Modificação

Ao gerir horários, acompanhar cronogramas de projetos ou analisar registos de eventos no Excel, é comum precisar de determinar o tempo decorrido entre dois momentos específicos. Por exemplo, ao dispor de duas listas — uma com horas de início e outra com horas de fim — poderá querer calcular rapidamente a duração correspondente a cada par na mesma linha, tal como ilustrado na imagem abaixo. Esta funcionalidade revela-se extremamente útil para reportar horas de trabalho, calcular idades ou monitorizar prazos com precisão.
Uma captura de ecrã que mostra uma lista de horários de início e fim no Excel

Calcular tempo decorrido/dias/meses/anos com fórmula

Utilizar código VBA para calcular diretamente o tempo decorrido


Calcular tempo decorrido/dias/meses/anos com fórmula

Calcular tempo decorrido

O Excel facilita o cálculo da diferença entre duas horas — ideal para cenários como registo de turnos de funcionários, cálculo de tempos de resposta ou acompanhamento do progresso de projetos. Para horas no mesmo dia, siga estes passos:

1. Clique numa célula vazia onde deseja que o tempo decorrido seja exibido (por exemplo, a célula C2) e introduza a seguinte fórmula:

=IF(B2<A2,1+B2-A2, B2-A2)
A2 deve conter a hora de início e B2, a hora de fim. Esta fórmula lida com situações em que a hora de fim seja anterior à hora de início — como nos turnos que atravessam a meia-noite — garantindo um cálculo sempre preciso.

2. Após introduzir a fórmula, prima Enter. Para aplicar esta fórmula a outras linhas, utilize a alça de preenchimento: clique no pequeno quadrado no canto inferior direito da célula e arraste-o para baixo até abranger todos os registos adicionais — assim calcula automaticamente os tempos decorridos para múltiplas entradas.

3. Com as células de resultado ainda selecionadas, clique com o botão direito do rato para abrir o menu de contexto e escolha Definir formato de célula. Na caixa de diálogo Definir formato de célula, no separador Número, selecione Hora na lista à esquerda. À direita, escolha o formato de hora pretendido (como hh:mm, h:mm:ss, etc.) para apresentar os resultados como tempos decorridos claros e legíveis.
Uma captura de ecrã que mostra a caixa de diálogo Formatar Células para definir formatos de hora no Excel

4. Clique em OK para aplicar a formatação. Os valores de hora serão agora apresentados de acordo com a sua seleção, facilitando a interpretação das durações totais.

Dicas adicionais:

  • Certifique-se de que as colunas de hora de início e de fim estejam formatadas como horas válidas do Excel para evitar erros.
  • Se prevê que algumas horas de fim ocorram no dia seguinte (por exemplo, em turnos noturnos), a fórmula acima acomoda essa situação adicionando 1 — correspondente a um dia completo — sempre que necessário.
  • Se encontrar um erro «#VALOR!», verifique se existem células vazias ou entradas incorretamente formatadas nas suas células de origem.

Calcular dias, meses ou anos decorridos

Determinar o número de dias, meses ou anos entre duas datas é essencial no planeamento de projetos, no cálculo de períodos de serviço ou na determinação de idades. Eis uma abordagem eficiente para cada caso:

Para dias decorridos, clique numa célula vazia (por exemplo, C2) e introduza a fórmula:

=B2-A2
Aqui, A2 é a data de início e B2 é a data de término. Após premir Enter, arraste a alça de preenchimento para baixo para aplicar o cálculo às linhas adicionais.
Uma captura de ecrã que mostra a fórmula para calcular dias decorridos no Excel

Notas: Certifique-se de que ambas as datas utilizam o formato de data do Excel; caso contrário, o resultado poderá estar incorreto. Se pretender contar apenas dias inteiros (ignorando horas e minutos), esta fórmula é a ideal.

Para calcular os meses entre duas datas, introduza numa célula vazia:

=DATEDIF(A2,B2,"m")
Esta fórmula devolve o número de meses completos decorridos. Se os meses parciais forem relevantes, pode também apresentar meses fracionários combinando-os com os dias correspondentes.

Para anos (incluindo anos parciais), utilize:

=DATEDIF(A2,B2,"y")
Se pretender os anos em formato decimal, pode tentar =DATEDIF(A2,B2,"m")/12e formate a célula do resultado como número para maior precisão.

Precauções:

  • Se a Data de Término for anterior à Data de Início, estas fórmulas devolverão valores negativos — considere adicionar uma validação.
  • Certifique-se de introduzir DATEDIF com atenção — um erro ortográfico fará com que o Excel devolva o erro «#NOME?», já que esta função não aparece no menu padrão de funções do Excel.

Calcular anos, meses e dias decorridos num formato combinado

Se a sua tarefa exigir uma análise mais detalhada (por exemplo, «2 anos, 6 meses e 19 dias»), o Excel pode resolvê-la utilizando a função DATEDIF em combinação. Esta solução é ideal para calcular a antiguidade de colaboradores, idades ou qualquer cenário que exija uma separação clara entre anos, meses e dias.

Selecione uma célula vazia (por exemplo, C2) e introduza a seguinte fórmula:

=DATEDIF(A2,B2,"Y") & " Years, " & DATEDIF(A2,B2,"YM") & " Months, " & DATEDIF(A2,B2,"MD") & " Days"
Em seguida, prima EnterIsto combina vários cálculos DATEDIF para gerar uma cadeia legível que mostra o período exato de tempo decorrido.
Uma captura de ecrã que mostra a fórmula para calcular anos, meses e dias entre duas datas no Excel

Se precisar de aplicar a fórmula a várias linhas, utilize a alça de preenchimento, tal como fez anteriormente. Recomendamos que formate a coluna resultante como «Geral» para garantir que o texto seja apresentado corretamente.

Dica útil: Se o seu cálculo incluir anos bissextos ou datas com meses de duração variável, pode ter a certeza de que a função DATEDIF calcula com precisão, respeitando os meses e anos do calendário.

Resolução de problemas e lembretes:

  • Verifique sempre com atenção os seus Dados de Origem em busca de células vazias ou formatação incorreta de data/hora.
  • Se detetar erros, tente reformatar as colunas de entrada como «Data» ou «Hora» para uniformizar os dados introduzidos.
  • Se as fórmulas não atualizarem após editar a célula de origem, prima F9 para forçar o recálculo ou verifique se o cálculo automático está ativado nas opções do Excel.

Código VBA para calcular o tempo decorrido entre duas datas e horas

Se precisar de automatizar cálculos ou processar grandes volumes de dados, o VBA é uma ferramenta poderosa. Por exemplo, pode consolidar os resultados do tempo decorrido numa única célula ou adaptar o cálculo exatamente às suas necessidades.

1. Aceda a Ferramentas de Programador > Visual Basic; abrir-se-á uma nova janela do Microsoft Visual Basic para Aplicações. Clique em Inserir > Módulo e cole o seguinte 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. Clique no botão Botão Executarpara executar o código. Ser-lhe-á pedido que selecione o intervalo de tempo de início, o intervalo de tempo de fim e onde pretende que o tempo decorrido seja apresentado. O resultado será exibido num formato de hora.

Esta abordagem com VBA é especialmente eficaz quando pretende personalizar ainda mais o cálculo ou a formatação e poupar tempo ao trabalhar com folhas de cálculo muito extensas.


As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos