Como criar uma lista de dias úteis (dias de trabalho) no Excel?
Este tutorial explica como criar rapidamente uma lista de dias úteis — ou seja, dias de trabalho — dentro de um intervalo de datas específico no Excel. Gerar essa lista é especialmente útil para agendamento de projetos, folhas de horas, registos de presenças ou planeamento de tarefas que ocorrem apenas em dias úteis. Os métodos seguintes apresentam abordagens manuais e automatizadas para o conseguir, adaptando-se a diferentes cenários e níveis de proficiência no Excel.
Listar dias úteis com o Preenchimento Automático Opções de preenchimento
Listar dias úteis com uma ferramenta prática – Kutools para Excel
Listar dias de trabalho utilizando a fórmula WORKDAY/WORKDAY.INTL do Excel
Listar dias úteis/dias de trabalho automaticamente com código VBA
Listar dias úteis com o Preenchimento Automático Opções de preenchimento
No Excel, pode criar rapidamente uma lista de dias úteis utilizando a alça de preenchimento automático combinada com a opção Preencher Dias Úteis. Esta abordagem é simples e ideal para gerar rapidamente uma sequência de dias úteis, mas oferece menos flexibilidade caso precise de definir com precisão a data inicial e a data final ou tenha de considerar feriados.
1. Introduza a sua data de início numa célula vazia. Por exemplo, digite 7/1/2015 na célula A1. Veja a captura de ecrã:

2. Mova o rato para o canto inferior direito da célula até aparecer a alça de preenchimento (+). Em seguida, clique e arraste-a para baixo até ao número de linhas pretendido — por exemplo, para listar 22 dias úteis.
Dica: Terá de estimar ou calcular exatamente quantos dias úteis pretende preencher. Se não tiver a certeza, pode sempre preencher mais células do que o necessário e eliminar facilmente as extras depois.

3. Assim que terminar de arrastar, clique no pequeno botão Preenchimento Automático Opções de preenchimento que aparece junto à seleção. No menu suspenso, selecione Preencher Dias Úteis. O Excel irá agora preencher o intervalo apenas com dias úteis (segunda a sexta-feira), ignorando os fins de semana.

Agora, deverá ver a sua sequência de 22 dias úteis, iniciada em 7/1/2015, apresentada na folha de cálculo.

Este método oferece uma forma rápida de preencher uma lista de dias úteis consecutivos, mas não é ideal para regras comerciais personalizadas — como excluir feriados específicos ou intervalos não consecutivos de dias úteis. Além disso, não permite preencher diretamente os dias úteis compreendidos entre duas datas exatas. Para necessidades mais avançadas, considere utilizar um dos métodos automatizados abaixo.
Listar dias úteis com uma ferramenta prática – Kutools para Excel
Kutools para Excel oferece uma solução conveniente para gerar todos os dias úteis num intervalo de datas específico, graças à sua funcionalidade Inserir dados aleatórios. Esta abordagem é flexível e poupa tempo, especialmente ao lidar com conjuntos de dados grandes ou quando pretende garantir que todas as datas geradas são únicas e filtradas exclusivamente por dias úteis. É ideal para utilizadores que gerem horários ou planeiem projetos que dependam de cálculos precisos de dias úteis.
1. Selecione uma faixa em branco de células onde pretende gerar a lista. Certifique-se de que escolhe mais células do que os dias úteis previstos, já que o número de células define quantas datas podem ser acomodadas. Veja a captura de ecrã:

2. Aceda ao separador Kutools na Faixa de Opções do Excel e, em seguida, clique em Inserir > Inserir dados aleatórios. Veja a captura de ecrã:
3. Na caixa de diálogo Inserir dados aleatórios, mude para o separador Data. Introduza o seu intervalo de datas pretendido: digite a data mais antiga na caixa De e a data mais recente na caixa Para. Marque Dia útil para limitar os resultados a dias úteis (segunda a sexta-feira) e Valores Únicos para evitar datas duplicadas. Veja a captura de ecrã:
Nota: Se o seu projeto exigir a inclusão de feriados, terá de os remover manualmente após gerar a lista, pois a função incorporada ignora apenas os fins de semana habituais.
4. Clique em OK ou em Aplicar. A ferramenta irá preencher o seu intervalo selecionado com todos os dias úteis correspondentes ao período especificado. Podem permanecer células vazias se o intervalo selecionado for maior do que o número possível de datas resultantes.

5. (Opcional) Para organizar as datas geradas por ordem cronológica, selecione o intervalo de datas preenchido, aceda ao separador Dados e clique em Ordenar do Mais Antigo ao Mais Recente. Este passo garante que a sua lista está perfeitamente organizada.

A lista gerada apresentará agora todos os dias úteis do seu Intervalo Personalizado, ordenados sequencialmente da data mais antiga à mais recente.

O utilitário Kutools para Excel Inserir dados aleatóriossuporta mais do que apenas dias úteis: também pode gerar números aleatórios, horas aleatórias, valores únicos aleatórios, cadeias aleatórias e Lista Personalizada aleatórios.Clique aqui para saber mais sobre este utilitário.
Nota: Verifique sempre se as datas geradas correspondem aos seus critérios, especialmente se precisar de excluir feriados específicos ou se o seu intervalo de datas abranger semanas de trabalho variáveis.
Kutools para Excel – Inclui mais de 300 ferramentas essenciais para o Excel. Torne as suas tarefas no Excel mais rápidas, fáceis e eficientes.Descarregue já!
Listar dias de trabalho utilizando a fórmula WORKDAY/WORKDAY.INTL do Excel
As funções WORKDAY e WORKDAY.INTL do Excel permitem-lhe gerar programaticamente uma lista sequencial de dias úteis entre duas datas. A função WORKDAY ignora fins de semana por predefinição (sábado e domingo), enquanto a WORKDAY.INTL lhe permite definir fins de semana personalizados e incluir datas de feriados. Esta abordagem é altamente flexível se pretender automatizar o processo e garantir precisão — por exemplo, para agendamento de RH ou cálculo de salários.
Para sua conveniência, aqui está uma abordagem passo a passo utilizando fórmulas para criar uma lista dinâmica de dias úteis:
1. Introduza a sua data de início na célula A1, por exemplo: 7/1/2015. Na célula B1, introduza a sua data de término, como 7/31/2015.
2. Na célula C1, introduza esta fórmula para obter uma lista sequencial de dias úteis:
=IF(WORKDAY($A$1,ROW(A1)-1,$B$2)<=$B$1,WORKDAY($A$1,ROW(A1)-1,$B$2),"") Explicação dos parâmetros:
- $A$1:Data de Início (referência absoluta)
- LIN(A1)-1:Incrementa o número do dia útil para cada linha
- $B$2:Opcional, um intervalo que contém datas de feriados a excluir (introduza as suas datas de feriado em B2:B10 ou noutro intervalo pretendido, ou deixe em branco se não for necessário)
- $B$1:Data de término para a lista (assegura que a série termina no ponto final selecionado)
3. Arraste a fórmula da célula C1 para baixo até encontrar uma célula vazia. A lista preencher-se-á dinamicamente com todos os dias úteis (excluindo fins de semana e quaisquer feriados indicados).
Dicas:
- Se precisar de definir fins de semana personalizados (por exemplo, apenas o domingo como fim de semana), utilize a função WORKDAY.INTL, que lhe permite indicar exatamente quais os dias considerados fins de semana através do argumento correspondente (consulte a documentação do Excel para mais detalhes).
- Certifique-se sempre de que as suas datas de feriado estejam num intervalo claro e separado, para evitar a sua inclusão acidental na sequência de dias úteis.
- Se os feriados não forem uma preocupação, pode omitir o intervalo opcional de feriados na fórmula.
Erro comum: Se obtiver #NÚM! ou resultados em branco onde espera datas, verifique se a sua data de início e a data de término são válidas e se a sua lista de feriados, caso utilizada, contém apenas datas (nem texto nem outros dados).
Listar dias úteis/dias de trabalho automaticamente com código VBA
Se precisar de gerar uma lista completa de dias úteis ou laborais num determinado intervalo, uma macro VBA personalizada pode automatizar todo o processo. Esta abordagem é ideal para utilizadores avançados do Excel ou sempre que repete frequentemente esta tarefa com diferentes conjuntos de dados. Com o VBA, consegue considerar padrões personalizados de semana laboral, feriados e até colocar os resultados exatamente onde pretender na sua folha de cálculo.
1. Clique em Ferramentas de Programador > Visual Basic para abrir a janela Microsoft Visual Basic para Aplicações. Em seguida, clique em Inserir > Módulo e cole o seguinte código no módulo:
Sub ListBusinessDays()
Dim StartDate As Date
Dim EndDate As Date
Dim r As Integer
Dim ws As Worksheet
Dim currDate As Date
Dim Holidays As Range
On Error Resume Next
Set ws = ActiveSheet
StartDate = Application.InputBox("Enter start date:", "KutoolsforExcel", Type:=2)
EndDate = Application.InputBox("Enter end date:", "KutoolsforExcel", Type:=2)
Set Holidays = Application.InputBox("Select range for holidays (optional, press Cancel if none):", "KutoolsforExcel", Type:=8)
On Error GoTo 0
r = 1
For currDate = StartDate To EndDate
If Weekday(currDate, vbMonday) <= 5 Then ' Monday = 1, Friday = 5
If Holidays Is Nothing Then
ws.Cells(r, 3).Value = currDate
r = r + 1
Else
If Application.CountIf(Holidays, currDate) = 0 Then
ws.Cells(r, 3).Value = currDate
r = r + 1
End If
End If
End If
Next
End Sub 2. Clique no botão
F5 para executar o código. Ser-lhe-á pedido que introduza a data de início e a data de término da sua lista. Opcionalmente, pode selecionar um intervalo de datas de feriados a excluir (ou simplesmente clicar em Cancelar, se não for necessário). Após a introdução dos dados, a macro preencherá a coluna C da folha de cálculo ativa com cada dia útil, ignorando fins de semana (segunda a sexta-feira) e os feriados especificados.
Notas e resolução de problemas:
- Se as datas não estiverem a ser apresentadas, verifique se as datas introduzidas são válidas e estão no formato de data adequado.
- Se não for especificado um intervalo de feriados, são listados todos os dias úteis entre a data inicial e a data de término.
- Os resultados começam sempre na coluna C. Ajuste
ws.Cells(r,3)no código se quiser que a saída apareça noutro local.
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