Como calcular as horas úteis por mês no Excel?
Em muitas organizações, os colaboradores seguem um horário de trabalho padrão — por exemplo, 8 horas diárias, 5 dias por semana. Calcular com precisão o total de horas úteis por mês é essencial para processar a folha de pagamento, acompanhar projetos e gerir recursos humanos com eficácia. No entanto, contabilizar manualmente as horas de cada mês pode ser demorado e sujeito a erros, especialmente ao considerar fins de semana, feriados públicos ou colaboradores com horários variáveis. O Excel oferece ferramentas e métodos práticos que agilizam e automatizam esse cálculo, garantindo precisão e eficiência nas suas operações.
Abaixo estão várias soluções eficazes para calcular as horas úteis mensais no Excel, adequadas a diferentes estruturas de dados e necessidades:
Calcular o total de horas úteis por mês com fórmulas
Código VBA – Calcular automaticamente as horas úteis mensais para várias linhas
Calcular o total de horas úteis por mês com fórmulas
As funções de fórmulas do Excel proporcionam uma abordagem simples e fiável para calcular o total de horas úteis por mês quando conhece a data de início e Data de término, bem como a quota diária de horas de trabalho. Este método funciona melhor quando cada dia tem um horário fixo e pretende considerar fins de semana e, opcionalmente, feriados. Eis como configurar o seu cálculo:
1. Selecione uma célula vazia onde pretende apresentar o resultado e introduza a seguinte fórmula:
=NETWORKDAYS(A2,B2) *8 Depois de digitar a fórmula, prima a tecla Enter. Inicialmente, o resultado poderá aparecer formatado como uma data. A imagem seguinte ilustra esta situação:

2. Para apresentar o valor como número (horas úteis), selecione a célula com o resultado da fórmula. Em seguida, no separador Base, localize o menu pendente Formato de Número e selecione Geral. A célula passará a exibir o número total de horas úteis como um valor numérico simples, tal como mostrado:

Dicas: Para refletir com precisão períodos que incluam feriados, exclua-os adicionando um intervalo de feriados à sua fórmula. Utilize:
=NETWORKDAYS(A2,B2, C2:C4) *8 em que A2 é a Data de Início, B2 é a Data de Término e C2:C4 lista as datas de feriados que pretende excluir. Formate a célula como 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. Este método funciona melhor para horários diários fixos. Se os colaboradores trabalharem a tempo parcial ou se as horas diárias variarem, poderá ter de adaptar a fórmula ou utilizar um dos métodos alternativos indicados abaixo.
Uma vantagem de utilizar fórmulas é que, uma vez configuradas, atualizam-se automaticamente sempre que alterar as datas ou os feriados. Contudo, em conjuntos de dados com múltiplos colaboradores ou registos de assiduidade mais complexos, poderá considerar as seguintes soluções avançadas ainda mais convenientes.
Código VBA – Calcular automaticamente as horas úteis mensais para várias linhas
Se a sua folha de cálculo incluir vários colaboradores ou linhas — cada uma com períodos distintos ou datas de início e término variáveis — inserir fórmulas manualmente, linha a linha, torna-se extremamente moroso. Com uma macro VBA, pode calcular automaticamente as horas úteis para cada linha em lote, poupando tempo precioso e eliminando erros manuais.
Esta solução é especialmente útil quando tem uma tabela em que cada linha representa um colaborador ou um período de trabalho distinto, com colunas para Data de Início, Data de Término e, opcionalmente, Feriados. A macro abaixo percorre todas as linhas e preenche automaticamente as horas úteis calculadas para cada registo.
1. Abra o editor do Visual Basic para Aplicações clicando em Ferramentas de Programador > 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 à estrutura da sua folha de cálculo.
- A coluna holidayCol deve conter datas separadas por vírgulas, como 7/3/2025 , 7/18/2025. Se não for necessária, pode deixá-la em branco.
- Esta macro pressupõe que os dados começam na linha 2, após o cabeçalho.
2. Para executar a macro, clique no botão
ou prima F5 enquanto o módulo estiver selecionado. O código calculará e preencherá automaticamente o total de horas úteis mensais em todas as linhas da coluna de resultados. Se surgir um erro, verifique se as referências dos seus dados e o formato de data estão corretos.
Este método revela-se particularmente eficaz para automatizar cálculos em listas extensas de colaboradores ou em folhas de ponto com múltiplas linhas, assegurando consistência e minimizando o risco de omissões. Caso a estrutura dos seus dados seja mais flexível ou pretenda resumir registos diários de assiduidade, considere utilizar uma Tabela Dinâmica, conforme descrito abaixo.
As Melhores Ferramentas de Produtividade para o Office
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.
- 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