Fórmula do Excel: obtenha o último dia da semana do mês -

Índice

Fórmula genérica

=EOMONTH(date,0)+1-WEEKDAY(EOMONTH(date,0)+1-dow)

Resumo

Para obter o último dia da semana em um mês (ou seja, o último sábado, a última sexta-feira, a última segunda-feira, etc.), você pode usar uma fórmula baseada nas funções EOMONTH e WEEKDAY.

No exemplo mostrado, a fórmula em D5 é:

=EOMONTH(B5,0)+1-WEEKDAY(EOMONTH(B5,0)+1-C5)

Explicação

Primeiro, essa fórmula determina o primeiro dia do próximo mês * após * uma determinada data. Ele faz isso usando EOMONTH para obter o último dia do mês e, em seguida, adicionando um dia:

=EOMONTH(B5,0)+1

Em seguida, a fórmula calcula o número de dias necessários para "reverter" para o último dia da semana solicitado no mês anterior (ou seja, o mês da data original):

WEEKDAY(EOMONTH(B5,0)+1-C5)

Em WEEKDAY, EOMONTH é usado novamente para obter o primeiro dia do mês seguinte. A partir dessa data, o valor do dia da semana é subtraído e o resultado é alimentado em WEEKDAY, que retorna o número de dias para reversão.

Por último, os dias de reversão são subtraídos do primeiro dia do mês seguinte, o que produz o resultado final.

Outros dias da semana

Na forma geral da fórmula no topo da página, o dia da semana é abreviado como "dow". Este é um número entre 1 (domingo) e 7 (sábado) que pode ser alterado para obter um dia da semana diferente. Por exemplo, para obter a última quinta-feira de um mês, defina dow como 5.

Nota: Encontrei essa fórmula em uma resposta no fórum MrExcel de Barry Houdini.

Bons links

Resposta de Barry Houdini no fórum MrExcel

Artigos interessantes...