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

Como calcular as horas entre horários que ultrapassam a meia-noite no Excel?

AutorXiaoyang Data de Modificação

Imagine que está a gerir um horário de trabalho no Excel e precisa de acompanhar períodos laborais que começam tarde num dia e terminam após a meia-noite, estendendo-se para o dia seguinte. Por exemplo, a Coluna A regista os horários de início no dia atual e a Coluna B regista os horários de fim após a meia-noite do dia seguinte. Quando tenta calcular a diferença horária com uma fórmula simples de subtração, como «=B2-A2», o Excel devolve um resultado incorreto ou negativo, tal como ilustrado na imagem abaixo. Isto ocorre porque os cálculos horários do Excel reiniciam à meia-noite, fazendo com que a subtração direta gere valores erróneos para turnos que atravessam esse limite. Como pode calcular com precisão o total de horas trabalhadas entre dois horários quando o horário de fim ocorre após a meia-noite no Excel?
a fórmula normal para calcular as horas entre horários após a meia-noite irá obter um resultado incorreto

Calcule as horas entre dois horários após a meia-noite com uma fórmula

Calcule as horas entre horários após a meia-noite com código VBA (Automação Avançada)


Calcule as horas entre dois horários após a meia-noite com uma fórmula

Para obter um cálculo exato das horas entre dois horários em que o horário de fim ocorre após a meia-noite, utilize uma fórmula simples que considere diferenças horárias abrangendo dois dias. Esta abordagem revela-se eficiente para conjuntos de dados pequenos a moderados ou quando a sua lógica apenas precisa de tratar intervalos horários que cruzam a meia-noite.

Como funciona:A fórmula «=(B2-A2+(B2<A2))*24» verifica se o horário de fim (B2) é anterior ao horário de início (A2). Se for, adiciona 1 dia — já que o Excel armazena o tempo como frações de um dia de 24 horas — garantindo sempre um cálculo horário positivo.

1. Introduza a seguinte fórmula numa célula vazia junto aos seus dados horários (por exemplo, na célula C2):

=(B2-A2+(B2<A2))*24

Explicação: Aqui, A2 contém o horário de início e B2 contém o horário de fim (após a meia-noite). Ajuste as referências das células conforme necessário, de acordo com a disposição dos seus dados.

Calcular as horas entre dois horários após a meia-noite com uma fórmula

2. Após introduzir a fórmula, prima Enter e, de seguida, utilize a alça de preenchimento para arrastar a fórmula para as restantes linhas aplicáveis. O Excel calcula imediatamente as diferenças horárias, tendo em conta as transições à meia-noite.

arrastar e preencher a fórmula nas outras células

Dicas:

  • Certifique-se de que todas as células de tempo estão formatadas como Hora (clique com o botão direito > Definir formato de célula > Hora).
  • Esta fórmula apresenta as horas em formato decimal. Para obter um resultado em horas e minutos, pode utilizar a formatação TEXTO, por exemplo, =TEXT(B2-A2+(B2<A2),"h:mm"). Contudo, a fórmula original é a mais adequada quando precisa de cálculos horários decimais para folhas de pagamento ou relatórios.
  • Se os seus dados incluírem entradas de tempo inválidas, verifique a existência de erros ortográficos ou de valores que o Excel não reconheça como tempo.

Erros comuns:

  • Se obtiver um erro #VALOR!, verifique se ambas as colunas contêm valores de tempo válidos e não texto.
  • Resultados negativos ou inesperados geralmente indicam que as referências da fórmula estão desfasadas ou que uma hora não foi introduzida corretamente.

Resumo: Esta solução é ideal para escalas de turnos típicas ou para registar horários noturnos de forma simples, desde que os seus dados se encaixem numa configuração básica de duas colunas e não exijam lógica comercial mais complexa.


Calcule as horas entre horários após a meia-noite com código VBA (Automação Avançada)

Se precisar de processar uma grande quantidade de registos horários ou quiser automatizar o cálculo de horas em cenários complexos — como aplicar arredondamentos personalizados, exclusões ou pausas variáveis —, utilizar uma macro VBA pode poupar tempo e reduzir erros manuais. Este método destina-se a utilizadores avançados ou a quem lida com padrões de turnos em constante evolução, pontos de corte invulgares ou necessidades de processamento em lote.

Cenários aplicáveis:Escolha esta solução se:

  • Processar regularmente centenas ou milhares de linhas
  • Necessitar de lógica além de uma passagem simples pela meia-noite (por exemplo, regras variáveis de horas extraordinárias, deduções de pausas para almoço)
  • Preferir uma solução que recalcule automaticamente com entrada manual mínima

 

Desvantagens: Os utilizadores devem sentir-se à vontade para ativar macros, e os destinatários do livro também poderão ter de permitir o VBA ou ajustar as definições de segurança das macros.

1. Abra a pasta de trabalho do Excel e prima Alt + F11 para iniciar o editor do Visual Basic para Aplicações (VBA). Na interface do VBA, clique em Inserir > Módulo para criar um novo módulo e cole o código abaixo na janela de código:

Sub CalculateHoursAcrossMidnight()
    Dim rng As Range
    Dim cell As Range
    Dim startTime As Date
    Dim endTime As Date
    Dim resultCol As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the range containing start and end times (two columns)", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    resultCol = rng.Columns(rng.Columns.Count).Column + 1
    
    For Each cell In rng.Columns(1).Cells
        startTime = cell.Value
        endTime = cell.Offset(0, 1).Value
        
        If IsDate(startTime) And IsDate(endTime) Then
            If endTime < startTime Then
                cell.Offset(0, 2).Value = (endTime - startTime + 1) * 24
            Else
                cell.Offset(0, 2).Value = (endTime - startTime) * 24
            End If
        Else
            cell.Offset(0, 2).Value = "Invalid Time"
        End If
    Next cell
    
    MsgBox "Calculation complete! Hours between times after midnight are now in the next column.", vbInformation, xTitleId
End Sub

2. Para executar a macro, feche o editor do VBA e regresse ao Excel. Selecione o intervalo na sua folha de cálculo que inclui as colunas de horário de início e de fim. Em seguida, prima a tecla F5 ou clique no botão Executar.

A macro irá solicitar que selecione um intervalo contendo os horários de início e fim (dispostos lado a lado). Os resultados — expressos em número de horas entre esses horários, ajustados para considerar a passagem pela meia-noite — serão exibidos na coluna imediatamente à direita do seu intervalo de dados.

Dicas e resolução de problemas:

  • As colunas de hora de início e de fim devem conter valores válidos de data e hora; as células com formatos não reconhecidos serão assinaladas como «Hora inválida».
  • Para reutilizar ou adaptar a macro noutras folhas, ajuste a seleção ou modifique os desvios das colunas conforme necessário.
  • Se a macro não estiver visível ou não puder ser executada, certifique-se de que as macros estão ativadas nas definições de segurança do Excel (Ficheiro > Opções > Centro de Confiança > Definições de Macros).
  • Esta abordagem pode ser adaptada para aplicar regras comerciais personalizadas; basta inserir lógica VBA adicional para pausas, arredondamento de tempos ou cálculos de horas extraordinárias, conforme necessário.

Resumo: O método automatizado com VBA é especialmente útil para utilizadores que gerem grandes listas de turnos, necessitem de cálculos recorrentes ou implementem lógica específica da organização na gestão de tempos. Uma vez configurado, elimina tarefas manuais repetitivas e minimiza o risco de erros de cálculo em turnos noturnos.

uma captura de ecrã de kutools for excel ai

Desbloqueie a Magia do Excel com KUTOOLS AI

  • Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
  • fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
  • Programação VBA: Escreva e implemente código VBA com facilidade.
  • Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
  • Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

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