
Fórmula genérica
=WORKDAY(date-1,1,holidays)=date
Resumo
Para determinar se uma data é um dia útil ou não, você pode usar uma fórmula baseada na função WORKDAY. No exemplo mostrado, a fórmula em C5 é:
=WORKDAY(B5-1,1,holidays)=B5
onde "feriados" é o intervalo nomeado E5: E6.
A fórmula acima retorna VERDADEIRO, visto que segunda-feira, 21 de dezembro de 2015 é um dia útil.
Explicação
A função WORKDAY calcula datas no futuro ou no passado que são (por definição) "dias úteis". Em outras palavras, WORKDAY exclui automaticamente finais de semana e (opcionalmente) feriados. WORKDAY aceita 3 argumentos: data_de_início, dias e (opcionalmente) feriados.
Uma vez que queremos verificar uma única data e obter um resultado VERDADEIRO ou FALSO, o ideal é usar DIÁRIO DE TRABALHO com a fórmula simples abaixo:
=WORKDAY(date,0)
No entanto, isso não funciona, já que WORKDAY não parece avaliar uma data quando nenhum deslocamento está presente.
A solução é fornecer (data-1) para data_início, 1 para dias e o intervalo nomeado "feriados" (E5: E6) para feriados.
Isso faz com que WORKDAY retroceda um dia e, em seguida, adicione 1 dia ao resultado, levando em consideração finais de semana e feriados. Efetivamente, estamos "enganando" WORKDAY para avaliar a data_de_início .
Quando a data cair em um fim de semana ou feriado, WEEKDAY ajustará automaticamente a data para o próximo dia útil.
Finalmente, comparamos a data_início original com o resultado da função WORKDAY. Se as datas forem iguais (ou seja, o resultado de WORKDAY for igual à data_início, a fórmula retornará TRUE. Caso contrário, a fórmula retornará FALSE.
Garantir que uma data calculada caia em um dia de trabalho
Para garantir que qualquer data calculada chegue a um dia útil, você pode usar a seguinte fórmula:
=WORKDAY(calc_date-1,1,holidays)
Observação - se você precisar de fins de semana personalizados, use a função WORKDAY.INTL.