Recentemente precisei contabilizar a quantidade de sábados e domingos que existem da data atual até o final do mês. Encontrei diversas formas de fazer isso, aqui vou trazer a que achei mais prática
Função DIATRABALHOTOTAL.INTL
O método consiste em usar a função NETWORKDAYS.INTL (DIATRABALHOTOTAL.INTL em português). Esta função calcula quantos dias úteis existem entre duas datas e recebe três parâmetros:
- Data Inicial
- Data Final
- Fim de semana: Regra do que é dia útil e o que é final de semana. Se não for passado, ele considera sábado e domingo como final de semana, mas permite ser customizado para contar só sábado ou só domingo, ou qualquer combinação de dias. Existem alguns valores pré-definidos para esse parâmetro, mas ele também suporta uma texto com 7 números 1 ou 0, indicando se é considerado um dia útil ou não. O primeiro número representa segunda-feira, o segundo terça-feira e assim por diante. Exemplo: 1111100, indica que sábado e domingo são considerados fim de semana:
Exemplo de uso para retornar quantos dias úteis faltam do dia atual para o final do mês:
# Inglês
=NETWORKDAYS.INTL(TODAY(); EOMONTH(TODAY();0))
# Portugues
=DIATRABALHOTOTAL.INTL(HOJE(); FIMMÊS(HOJE();0))
Agora a alteração para contar quantos sábados e domingos faltam do dia atual para o final do mês:
# Inglês
=NETWORKDAYS.INTL(TODAY(); EOMONTH(TODAY();0); "1111100")
# Portugues
=DIATRABALHOTOTAL.INTL(HOJE(); FIMMÊS(HOJE();0); "1111100")
Para contar outros dias, basta adaptar o último parâmetro para o dia desejado. Exemplos:
- 0111111: Contará as segundas-feira que faltam para o final do mês
- 1011111: Contará as terças
- 1110011: Contará quantas quintas e sextas faltam
- Etc
Outro exemplo: Quantidade de dias, exceto domingos, entre duas datas que estão nas colunas A1 e B1:
# Inglês
=NETWORKDAYS.INTL(A1; B1; "0000001")
# Portugues
=DIATRABALHOTOTAL.INTL(A1; B1; "0000001")