Fórmula de Data do Excel - Retorna o próximo dia especificado da semana

1

Eu preciso de uma fórmula que sempre retorne o próximo dia especificado da semana.

Por exemplo

IF(A1="A",RETURN NEXT FRIDAY, IF(A1="B",RETURN NEXT TUESDAY.....ETC

A razão pela qual eu preciso disso é porque tenho um grupo de contas e cada uma delas tem uma data de entrega especificada, portanto, se uma conta foi atribuída ao grupo A, elas receberão as segundas-feiras e, se tiverem sido atribuídas a grupo B, a entrega será às terças-feiras, etc.

Penso nesses exemplos que a fórmula resultará em um dia e data diferentes, dependendo de qual dia "hoje" é. O que eu preciso é que cada conta no grupo A seja padronizada para a próxima segunda-feira, independentemente do dia da semana atual. Então, o grupo A seria hoje + 4 se for segunda-feira, mas hoje + 3 se for terça-feira. Espero que isso faça sentido.

    
por Lee Francis 11.09.2012 / 18:16

2 respostas

3

Você pode usar minha sugestão dos comentários de Scott para pegar o dia seguinte com a parte variável vinculada à sua carta, então se "A" for segunda-feira "B" terça, "C" quarta, "D" quinta e "E" Sexta-feira (e essas são as únicas opções), então você pode usar essa fórmula para corrigir o próximo dia da semana

=TODAY()+8-WEEKDAY(TODAY()-MATCH(A1,{"A","B","C","D","E"},0))

Você disse inicialmente que queria excluir feriados, mas se A1 é "A" e a segunda-feira seguinte é feriado, que dia deve ser a entrega?

Se o próximo dia útil depois dessa segunda-feira (seja qual for o dia da semana), você poderá incorporar o acima na função WORKDAY como esta

=WORKDAY(TODAY()+8-WEEKDAY(TODAY()-MATCH(A1,{"A","B","C","D","E"},0))-1,1,H$1:H$10)

onde os feriados estão listados em H1: H10

Se você sempre precisar de entrega em uma segunda-feira, então se segunda-feira seguinte for feriado, deve ser na segunda-feira seguinte (ou na próxima segunda-feira que não é feriado) e usar a função WORKDAY.INTL para fazer isso disponível no Excel 2010 e posterior)

=WORKDAY.INTL(C$1,1,REPLACE("1111111",MATCH(A1,{"A","B","C","D","E"},0),1,0),H$1:H$10)

    
por 12.09.2012 / 00:45
1
WEEKDAY(some date)

retorna o dia da semana: domingo = 1, segunda-feira = 2, ..., sábado = 7. Então

TODAY()-WEEKDAY(TODAY())

é o sábado anterior, então

TODAY()-WEEKDAY(TODAY())+2

é segunda-feira desta semana (use 3, 4, 5 ou 6 para terça-feira, ... sexta-feira). Estou escrevendo isso em uma terça-feira, então segunda-feira desta semana foi ontem e terça-feira desta semana é hoje. Para obter o próximo (por exemplo, na próxima terça-feira), use

TODAY()-WEEKDAY(TODAY())+3 + IF(WEEKDAY(TODAY())>=3,7)

Boa sorte em pular de férias! :)

    
por 11.09.2012 / 19:43