Veja como Gerar Apenas os Dias Úteis no Excel passo-a-passo com download da planilha exemplo.
1. Introdução a Gerar Dias Úteis no Excel
Obter a lista apenas com as datas dos dias úteis do mês no Excel é de uso comum em relatórios nos quais os fins de semana são desconsiderados.
Uma aplicação prática é a enumeração das datas do mês, de segunda-feira a sexta-feira, em que os colaboradores estão em expediente numa empresa. Pode ser útil para o RH montar um controle de ponto, por exemplo.
A seguir, veremos algumas situações e como podemos lançar mão de algumas alternativas interessantes para obter apenas os dias úteis do mês no Excel. Em todos os casos, tomaremos como base o mês de setembro de 2022.
2. Métodos para a Obtenção dos Dias Úteis do Mês
2.1. Alça de preenchimento
Este é o modo mais trivial de se preencher as datas desejadas. Basta inserir a data inicial em uma célula e, com ela selecionada, arrastar (por linha ou coluna) com o botão DIREITO do mouse através da alça de preenchimento para gerar as próximas datas, avançando 1 dia por vez a cada célula.
A imagem a seguir mostra a data inicial devidamente inserida em B4 com a alça de preenchimento destacada em vermelho.
Ao arrastar para baixo, a cada célula, podemos visualizar as datas sugeridas. A imagem seguinte mostra que encontramos o ponto de parada (30/09/2022) para gerar todas as datas referentes a setembro de 2022.
O “segredo” ocorre ao soltarmos o botão direito do mouse. Serão exibidas algumas opções e dentre elas, a nossa opção desejada. Devemos escolher a opção Preencher dias da semana. Assim, sábados e domingos serão ignorados.
O problema deste método está apresentado na imagem seguinte.
Note que ao eliminar as datas dos fins de semana, o preenchimento inseriu datas indesejadas, pertencentes a outubro (destacadas em vermelho na imagem anterior). Devemos então selecionar estas datas e deletar manualmente para ficarmos apenas com a lista de datas úteis de setembro, conforme exibe a imagem a seguir. Note ainda que tivemos os saltos esperados para as nossas datas, destacados em azul, nos quais sempre “pulamos” da sexta-feira para a segunda-feira. Esses saltos, como esperado, sempre estarão em todos os exemplos citados neste artigo. Confira!
Para tentar evitar este problema podemos arrastar para menos células. Porém, ainda corremos o mesmo risco de gerar datas em excesso ou até mesmo o risco de não gerar todas as datas desejadas.
Esta desvantagem em gerar as datas com o limite correto pode ser resolvida facilmente com o preenchimento de séries, recurso abordado no tópico seguinte.
NOTA: A data tomada como ponto de partida pode não ser dia útil. Em nosso caso, 01/09/2022 trata-se de uma quinta-feira e não houve problema. Caso a data a ser tomada como data inicial seja um sábado ou domingo, a mesma poderá ser deletada ao final do procedimento. Uma alternativa é verificar qual a primeira data útil do mês e tomá-la como ponto de partida.
2.2. Preenchimento de Séries de Dias Úteis no Excel
Em relação ao executado com a alça de preenchimento, citado no item 2.1, o preenchimento de séries possui a grande vantagem de parar de inserir os dados considerando o limite desejado, sem que seja preciso controlar a parada dos dados manualmente. A desvantagem também é a sua atualização, que, quando necessária, requer toda a repetição do processo.
Da mesma forma que o exposto com a alça de preenchimento, o seu funcionamento se dá com base em um número que será o seu ponto de partida: a data inicial do mês. Ao final do processo, caso esta data inicial não seja dia útil, deverá ser deletada. O desejável é que a data informada como ponto de partida já seja a primeira data útil do mês.
Considere a imagem a seguir em que já disponibilizamos a data inicial de setembro de 2022 (em B4), uma vez que desejamos gerar todas as datas deste mês/ano.
Devemos manter este nosso valor inicial selecionado. Note que a célula B4, que o contém, está selecionada. A partir daí, podemos acessar o recurso na guia Página Inicial, grupo Edição.
Devemos escolher as opções Preencher > Série, presentes no grupo Edição.
Será exibida a caixa de opções de Série, para serem definidos os parâmetros. Conforme imagem a seguir, escolhemos a opção Colunas para que as datas do mês sejam disponibilizadas ao longo da coluna B. Se optarmos pela opção padrão, que é Linhas, a série de datas geradas será disponibilizada ao longo da linha 4. O tipo Data é reconhecido automaticamente. O “segredo” está na unidade de data, na qual deveremos escolher a opção Dia da semana. O Incremento padrão é 1, e o manteremos. Ele indica que as datas que serão geradas avançarão de 1 em 1 dia. O Limite sempre é exibido em branco. Deveremos informar neste campo o último valor a ser gerado na série de datas. Em nosso caso, devemos determinar a última data desejada, que será o fim do mês de setembro de 2022, ou seja: 30/09/2022, conforme exibe a imagem seguinte. Caso a data-limite seja um dia não útil, não será gerada.
Ao clicar em Ok para confirmar, teremos as datas geradas conforme esperado.
2.3. Fórmulas
O recurso de preencher séries não permite resultados com atualização fácil e rápida. Caso desejemos alterações, precisaremos refazer o processo. Utilizar fórmulas é uma boa alternativa, conforme será proposto a seguir.
Para isso serão elencadas 2 situações de estudo: mês e ano informados separadamente, estando o mês informado textualmente, de maneira abreviada ou por completo, ou ainda em sua forma numérica, além de uma situação em que será informada uma data de referência, podendo ser ou não a primeira data de um mês.
a) Mês e ano informados separadamente
A imagem anterior ilustra o nosso cenário, que considera ano e mês em células distintas. Isso permite maior controle em relação ao período de datas que será gerado. Podemos ter 2 situações: o mês sendo informado a partir de seu nome, estando abreviado ou por completo (jan, maio, dezembro, set, ago etc.) ou o mês sendo informado a partir de seu número (de 1 a 12).
Cenário 1 – Mês como texto (nome)
Aqui, é indiferente se o nome está abreviado com 3 caracteres ou escrito por completo. As fórmulas propostas reconhecerão e retornarão as datas desejadas.
Uma primeira solução pode ser implementada com as funções FILTRO e SEQUÊNCIA.
A imagem seguinte exibe a fórmula e as datas obtidas. Obviamente, se alterarmos a célula C4 para outro mês e/ou a célula C5 para outro ano, teremos datas diferentes sendo retornadas.
A fórmula inserida foi =FILTRO(SEQUÊNCIA(DIA(FIMMÊS(C4&C5;0));;FIMMÊS(C4&C5;-1)+1);(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(C4&C5;0));;FIMMÊS(C4&C5;-1)+1);”ddd”)<>”sáb”)*(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(C4&C5;0));;FIMMÊS(C4&C5;-1)+1);”ddd”)<>”dom”)).
Explicação da fórmula
O primeiro argumento da função FILTRO está fundamentado na função SEQUÊNCIA para gerar todas as datas do mês. Após isso, precisamos remover os sábados e domingos. Isto é realizado no segundo argumento da função FILTRO. Neste momento, testamos todas as datas do mês geradas, verificando se são diferentes de sábado e simultaneamente (por isso multiplicamos, implementando a lógica E) diferentes de domingo. Apenas quando essas 2 condições são satisfeitas, as datas são mantidas. A função TEXTO usamos para obter o dia da semana escrito textualmente de forma abreviada, a fim de testarmos se trata-se de um sábado ou domingo. Para testar o dia da semana poderíamos também usar a função DIA.DA.SEMANA.
Para versões do Excel em que não há disponíveis as funções FILTRO e SEQUÊNCIA, a função DIATRABALHO é extremamente útil. A imagem a seguir propõe uma solução com base nesta função.
A fórmula inserida foi =SE(MÊS($C$4&$C$5)=MÊS(DIATRABALHO(($C$4&$C$5)-1;LINS($B$7:B7))); DIATRABALHO(($C$4&$C$5)-1;LINS($B$7:B7));””).
Explicação da fórmula
A função DIATRABALHO em seu primeiro argumento possui a última data do mês anterior (trecho ($C$4&$C$5)-1), que pode ou não ser dia útil. No segundo argumento de DIATRABALHO, a função LINS gera números inteiros incrementais, a partir de 1, fazendo com que DIATRABALHO gere as datas dos dias úteis consecutivos, a partir da primeira data imediatamente após a última data do mês anterior. Já a função SE verifica o mês de cada data gerada por DIATRABALHO. Caso seja o mesmo mês que desejamos (definido em C4), a data é mantida na lista. Caso contrário, a célula ficará vazia. Isto pode ocorrer com as últimas células para as quais a fórmula é arrastada, após o último dia útil do mês.
Cenário 2 – Mês como número
Para obtermos os nossos resultados tomando como base os meses em sua representação numérica, indo de 1 até 12, podemos usar as mesmas fórmulas elencadas anteriormente, com uma pequena diferença. Em vez de concatenarmos, nas funções FIMMÊS e MÊS, apenas o mês com o ano, precisaremos incluir nesta concatenação um separador usual para datas, como hífen (-) ou a tradicional barra (/). A nossa concatenação então terá: número do mês + separador + ano. Esta concatenação é necessária para termos um mês/ano válido, como ocorre em nosso caso: 9/2022.
A imagem a seguir mostra a nossa solução com as funções FILTRO e SEQUÊNCIA.
A fórmula inserida foi =FILTRO(SEQUÊNCIA(DIA(FIMMÊS(F4&”/”&F5;0));;FIMMÊS(F4&”/”&F5;-1)+1);(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(F4&”/”&F5;0));;FIMMÊS(F4&”/”&F5;-1)+1);”ddd”)<>”sáb”)*(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(F4&”/”&F5;0));;FIMMÊS(F4&”/”&F5;-1)+1);”ddd”)<>”dom”)).
Já a imagem a seguir mostra a adaptação da fórmula implementada com a função DIATRABALHO.
A fórmula inserida foi =SE(MÊS($F$4&”/”&$F$5)=MÊS(DIATRABALHO(($F$4&”/”&$F$5)-1;LINS($E$7:E7)));DIATRABALHO(($F$4&”/”&$F$5)-1;LINS($E$7:E7));””).
NOTA 1: Estas fórmulas em que concatenamos separadores de datas também podem ser usadas no Cenário 1 deste item 2.3 a) e retornarão corretamente as datas esperadas. Em verdade, elas podem ser consideradas as fórmulas definitivas para ambas as situações pois são mais abrangentes. No entanto, apresentamos agora as fórmulas com a concatenação do separador de datas apenas para evidenciar que no Cenário 1 esta concatenação é dispensável, mas não implica em erros caso seja utilizada.
b) Com base em uma data de referência
Outra situação que pode ocorrer é basear a lista de datas do mês a gerar a partir de uma de suas datas. Aqui, apresentamos uma flexibilidade quanto à data de referência, que poderá ser qualquer data do mês desejado. Assim, para gerar as datas de setembro de 2022, caso explorado neste artigo, a data de referência poderá ser qualquer data entre 01/09/2022 e 30/09/2022.
Uma primeira solução a citar será com as funções FILTRO e SEQUÊNCIA. A imagem a seguir mostra uma fórmula aplicada de maneira bastante similar àquela do item 2.3 a) no Cenário 1. A diferença é que não precisamos concatenar o nome do mês com o ano dentro do FIMMÊS, visto que já temos uma data pronta para tomar como base (na célula I5).
A fórmula inserida foi =FILTRO(SEQUÊNCIA(DIA(FIMMÊS(I5;0));;FIMMÊS(I5;-1)+1);(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(I5;0));;FIMMÊS(I5;-1)+1);”ddd”)<>”sáb”)*(TEXTO(SEQUÊNCIA(DIA(FIMMÊS(I5;0));;FIMMÊS(I5;-1)+1);”ddd”)<>”dom”)).
A última alternativa proposta está apresentada a seguir, com base na função DIATRABALHO.
A fórmula inserida foi =SE(MÊS($I$5)=MÊS(DIATRABALHO(FIMMÊS($I$5;-1);LINS($E$7:E7)));DIATRABALHO(FIMMÊS($I$5;-1);LINS($E$7:E7));””).
NOTA: Podemos ainda otimizar todas as fórmulas que possuem a função DIATRABALHO aqui apresentadas para que sejam considerados os feriados. Para isso, basta utilizarmos o terceiro argumento desta função, referenciando um intervalo com as datas dos feriados.
Download Planilha Dias Úteis no Excel
Clique no botão abaixo para realizar o download do arquivo de gerar dias úteis no Excel: