ExcelQuiz: Listar todas Terças-Feiras de 2022 excepto um conjunto de feriados [Oz du Soleil]

#ExcelChallenge de 28/09/22 do Oz du Soleil
ExcelQuiz: Listar todas Terças-Feiras de 2022 excepto um conjunto de feriados [Oz du Soleil]

Resumo

Apresentamos a nossa solução ao desafio lançado pelo MVP Oz du Soleil que consiste em listar todas Terças-Feiras do ano de 2022 excepto uma lista de feriados que nos são dados na coluna F.

Desafio

Solução

A solução que criamos usa as funções: IF (SE), AND (E), ISNUMBER (É.NÚM) e MATCH (CORRESP) para devolver a lista de todas as terças-feiras de 2022 excluíndo as que estão identificadas como sendo feriados.
Listar todas Terças-Feiras de 2022 excepto feriados
Listar todas Terças-Feiras de 2022 excepto feriados
=IF(AND(ISNUMBER(MATCH(C3+7;$F$3:$F$16;0));ISNUMBER(MATCH(C3+14;$F$3:$F$16;0)));C3+21;IF(ISNUMBER(MATCH(C3+7;$F$3:$F$16;0));C3+14;C3+7))
Na célula C3 colocamos a primeira terça-feira (verificando se não é um feriado) do ano: 4 Janeiro de 2022. É o ponto de partida para a fórmula que apresentamos como solução. =IF(AND // usamos IF combinado com a função AND para identificar terças-feiras seguidas em que ambas possam ser feriado.

(ISNUMBER(MATCH(C3+7;$F$3:$F$16;0)); // no primeiro teste lógico com a função MATCH vamos procurar a data de C3 (4 de Janeiro) + 7 dias (11 de Janeiro) dentro da lista de feriados que está listada em F3:F16. Com ISNUMBER transformamos este resultado numa relação de VERDADEIRO ou FALSO. Ou seja, se a data C3 + 7 estiver na lista de feriados é VERDADEIRO e é FALSO se não estiver na lista.

ISNUMBER(MATCH(C3+14;$F$3:$F$16;0))); // o segundo teste lógico é idêntico mas vamos comparar a data de C3 + 14 dias (18 de Janeiro). Se ambos os testes lógicos do IF/AND forem VERDADEIROS significa que temos dois feriados seguidos à terça-feira.

C3+21; // se os dois testes lógicos forem VERDADEIROS, então vamos listar a data seguinte C3 (4 Janeiro) + 21 dias e ignoramos assim as duas terças seguidas que são feriados.

IF(ISNUMBER(MATCH(C3+7;$F$3:$F$16;0)); // se pelo menos um dos testes lógicos for FALSO vamos lançar outro IF mas desta vez apenas para verificar a terça-feira seguinte.

C3+14; // Se C3 (4 de Janeiro) + 7 dias (11 de Janeiro) estiver na lista de feriados então devolvemos a terça-feira seguinte C3 + 14 (18 de Janeiro).

C3+7)) // Se C3 + 7 não estiver na lista de feriados (FALSO) então devolvemos a terça-feira que estamos a testar C3+7 (11 de Janeiro).

E arrastamos a fórmula até termos todas as terças-feiras do ano, excluíndo as que são feriado, na nova lista que estamos a criar. Não esquecer que é necessário fixar a lista de feriados para que quando arrastamos a fórmula se mantenha a mesma referência de pesquisa.

Lógica

Começamos com a 1ª terça-feira não feriado.
Se a 2ª e 3ª terças-feiras forem feriados, devolvemos a 4ª terça-feira.
Se a 2ª terça-feira for feriado, devolvemos a 3ª terça-feira.
Se a 2ª terça-feira não for feriado, devolvemos a 2ª terça-feira.

Aproveita estes quizzes que vão aparecendo na comunidade para treinar porque o domínio do Excel passa essencialmente por usar e testar para aprender cada vez mais soluções. Esta é apenas uma solução. E como em quase tudo no Excel, não é a única solução, se tiveres outra que queiras partilhar comenta o artigo e coloca-a nos comentários!

Descargas

Descarrega aqui o ficheiro com a nossa solução para este Quiz do Oz du Soleil de listar todas Terças-Feiras de 2022 excepto feriados