Como calcular as horas de trabalho por mês no Excel?
Em muitas organizações, os funcionários seguem um cronograma padrão de trabalho, como 8 horas por dia e 5 dias por semana. Calcular com precisão o total de horas de trabalho por mês é essencial para o processamento de folha de pagamento, acompanhamento de projetos e gestão da força de trabalho. No entanto, somar manualmente o total de horas para cada mês pode ser propenso a erros e consumir muito tempo, especialmente quando você precisa considerar fins de semana, feriados ou funcionários com horários variáveis. O Excel oferece ferramentas práticas e métodos que ajudam a simplificar e automatizar esse cálculo, garantindo precisão e eficiência em suas operações.
A seguir estão várias soluções eficazes para calcular as horas de trabalho mensais no Excel, adequadas para diferentes estruturas de dados e necessidades:
Calcular o total de horas de trabalho por mês com fórmulas
Código VBA – Calcular horas de trabalho mensais para várias linhas automaticamente
Calcular o total de horas de trabalho por mês com fórmulas
As funções de fórmula do Excel fornecem uma abordagem direta e confiável para calcular o total de horas de trabalho por mês quando você conhece as datas de início e término e a cota diária de horas de trabalho. Esse método funciona melhor quando cada dia possui um cronograma fixo de trabalho e você deseja contabilizar fins de semana e, opcionalmente, feriados. Aqui está como você pode configurar seu cálculo:
1. Selecione uma célula em branco onde deseja exibir o resultado e insira a seguinte fórmula:
=NETWORKDAYS(A2,B2) *8
Depois de digitar a fórmula, pressione a tecla Enter. Inicialmente, o resultado pode aparecer formatado como uma data. A captura de tela abaixo demonstra isso:
2. Para exibir o valor como um número (horas de trabalho), selecione a célula com o resultado da fórmula. Em seguida, na guia Página Inicial, encontre a lista suspensa Formato de Número e selecione Geral. A célula agora exibirá o número total de horas de trabalho como um número simples, conforme mostrado:
Dicas: Para refletir com precisão períodos que incluem feriados, você pode excluir esses dias adicionando um intervalo de feriados à sua fórmula. Use:
=NETWORKDAYS(A2,B2, C2:C4) *8
onde A2 é a data de início, B2 é a data de término e C2:C4 lista as datas de feriados que deseja excluir. Formate a célula para Geral conforme descrito acima.
Nota: Ajuste as referências de células (como A2, B2, C2:C4) de acordo com a localização dos seus dados. Esse método funciona melhor para horas de trabalho diárias padrão. Se os funcionários trabalham meio período ou as horas de trabalho diárias variam, você pode precisar adaptar a fórmula ou usar um dos métodos alternativos abaixo.
Uma vantagem de usar fórmulas é que, uma vez configuradas, elas se atualizam automaticamente quando você modifica as datas ou feriados. No entanto, para conjuntos de dados contendo vários funcionários ou registros mais complexos de presença, você pode achar as seguintes soluções avançadas mais convenientes.
Código VBA – Calcular horas de trabalho mensais para várias linhas automaticamente
Se a sua planilha registrar vários funcionários ou linhas — cada uma com diferentes períodos ou datas de início e término variáveis — inserir fórmulas linha por linha manualmente torna-se tedioso. Usar uma macro VBA permite que você calcule automaticamente as horas de trabalho para cada linha em massa, economizando tempo e reduzindo erros manuais.
Essa solução é particularmente útil quando você tem uma tabela onde cada linha representa um funcionário ou um período de trabalho distinto, com colunas para Data de Início, Data de Término e, opcionalmente, Feriados. A macro abaixo percorrerá todas as linhas e preencherá as horas de trabalho calculadas para cada entrada.
1. Abra o editor Visual Basic for Applications clicando em Ferramentas de Desenvolvedor > Visual Basic. Na nova janela, clique em Inserir > Módulo e cole o seguinte código VBA na área de código:
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub
Notas e instruções:
- Ajuste as letras das colunas (startCol, endCol, holidayCol, resultCol) conforme necessário para corresponder ao layout da sua planilha.
- O holidayCol deve conter datas separadas por vírgulas, como 7/3/2025,7/18/2025. Se não for necessário, você pode deixá-lo em branco.
- Esta macro assume que os dados começam na linha 2 (após o cabeçalho).
2. Para executar a macro, clique no botão ou pressione F5 enquanto o módulo estiver selecionado. O código calculará e preencherá automaticamente o total de horas de trabalho mensais para todas as linhas na coluna de resultados. Se você encontrar um erro, verifique se as referências de dados e os formatos de data estão corretos.
Esse método é especialmente eficaz para automatizar cálculos em grandes listas de funcionários ou dados de múltiplas linhas de planilhas de ponto, garantindo consistência e reduzindo o risco de registros perdidos. Se sua estrutura de dados for mais flexível ou você desejar resumir registros diários de presença, considere usar uma Tabela Dinâmica conforme descrito abaixo.
Melhores Ferramentas de Produtividade para Office
Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para acessar o recurso que você mais precisa...
Office Tab traz interface com abas para o Office e facilita muito seu trabalho
- Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
- Aumente sua produtividade em50% e economize centenas de cliques todos os dias!
Todos os complementos Kutools. Um instalador
O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.





- Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Um instalador, uma licença — configuração em minutos (pronto para MSI)
- Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
- Avaliação completa por30 dias — sem registro e sem cartão de crédito
- Melhor custo-benefício — economize comparado à compra individual de add-ins