Excel, calcule +8 semanas para a quarta-feira mais próxima (ou domingo)

0

Temos um processo de negócios que exige que calculemos

(TODAY + 8 weeks) to the nearest Sunday or Wednesday.

Por exemplo,
 - Hoje é 07/12.
 - 8 semanas é 01/02/18
 - Esta é uma quinta-feira. Conte até a quarta-feira mais próxima ou domingo no passado [1]. Contar até quarta-feira mais próxima ou domingo no futuro [3]
 - Selecione o dia com o menor número de saltos entre a data calculada. Por isso, selecionamos quarta-feira 31/01/18
 - Se for sexta-feira e houver empate (-2 a quarta-feira, +2 a domingo), selecione o domingo.

Estou feliz com o Excel ao ponto de =TODAY()+(8*7) , mas o próximo passo para ' is this a Wednesday or Sunday, if not count forward and back until it is both then compare the two values and select the closest está bem além de mim. Eu suponho que precisa de algum VB, mas isso não é algo que eu estou familiarizado com (embora eu seria capaz de fazer isso no powershell no entanto, eu não sou incapaz apenas desconhecido).

Alguém é capaz de me ajudar?

Por fim, gostaria de incorporar os resultados em um documento do Word, mas isso pode acontecer mais tarde.

    
por Patrick 07.12.2017 / 14:51

2 respostas

4

Como você nunca quer voltar mais de um dia (dos 56 adicionados inicialmente) [1] , seria suficiente adicionar 56, subtrair 2 e depois encontrar a próxima ocorrência de um Quarta ou domingo.

Você pode fazer isso usando WORKDAY.INTL function (Excel 2010 ou posterior) assim:

=WORKDAY.INTL(TODAY()+8*7-2,1,"1101110")

WORKDAY.INTL pode ser personalizado para definir os "dias úteis" com uma string como "1101110" - a string é de 7 1/0 valores começando de segunda e terminando com domingo onde 0 representa um dia útil e 1 a não - dia de trabalho, então "1101110" define quarta e domingo como os únicos dias úteis

Nas versões mais antigas do Excel, você pode obter o mesmo resultado com essa fórmula

=MIN(TODAY()+8*7+6-WEEKDAY(TODAY()+8*7-{2,5}))

[1] Explicação: o domingo ou quarta-feira mais próxima nunca pode estar a mais de dois dias em qualquer direção e quando a data + 56 = sexta-feira, Patrick diz que quer escolher o domingo. .... então, se a data + 56 for uma quinta-feira ou segunda-feira, então você precisa voltar 1, qualquer outra situação em que você mantenha a data + 56 ou vá em frente.

    
por 07.12.2017 / 22:17
2

Como isso funciona para você? Deve calcular o domingo mais próximo ou quarta-feira 8 semanas no futuro.

Para verificar se funciona, coloque uma data em A2. Você pode alterar sua referência de A2 para Today() depois que estiver satisfeito.

Coloque esta fórmula em B2:

=(A2+(8*7)) - CHOOSE(WEEKDAY(A2+(8*7)),0,1,-1,0,1,-2,-1)

Coloque esta fórmula em C2 para verificar os resultados:

=TEXT(B2,"DDD")

Para testá-lo, coloque suas datas em A2 e verifique seu calendário.
Se o seu dia da semana não começar no domingo, você poderá ajustar 4 no teste de condição do IF() .

    
por 07.12.2017 / 16:38