
Fórmula genérica
=WORKDAY(EOMONTH(date)+1,-1)
Resumo
Para obter o último dia útil em um mês, você pode usar a função WORKDAY junto com a função EOMONTH. No exemplo, a fórmula em C4 é:
=WORKDAY(EOMONTH(B4,0)+1,-1)
Explicação
Trabalhando de dentro para fora, a função EOMONTH obtém o último dia do mês de qualquer data. A este resultado, adicionamos 1, que resulta no primeiro dia do próximo mês.
Essa data vai para a função WORKDAY como a "data de início", junto com -1 para "dias". A função WORKDAY retrocede automaticamente 1 dia, levando em consideração os finais de semana. O resultado é o último dia útil do mês.
Feriados
Para obter o último dia útil do mês, levando em consideração os feriados, basta adicionar o intervalo que contém as datas dos feriados à fórmula como esta:
=WORKDAY(EOMONTH(B4,0)+1,-1,holidays)
Fins de semana personalizados
A função WEEKDAY assume que os finais de semana são sábado e domingo. Se você precisar personalizar os dias de fim de semana, pode usar a função WEEKDAY.INTL.