
Preciso calcular a primeira ocorrência no próximo ano do dia da semana da data na célula A1. Por exemplo, se a data na célula A1 cair numa quinta-feira, calcule a primeira quinta-feira do ano seguinte; se a data na célula A1 cair em uma segunda-feira, calcule a primeira segunda-feira do ano seguinte e assim por diante.
Como posso fazer isso?
Responder1
Na minha versão francesa do Excel:
=DATE(ANNEE(A1)+1;1;1)+MOD(7+JOURSEM(A1)-JOURSEM(DATE(ANNEE(A1)+1;1;1));7)
Que parece estar na versão em inglês:
=DATE(YEAR(A1)+1,1,1)+MOD(7+WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1,1,1)),7)
Responder2
Gosto da resposta do @CmPi. Aqui está outra solução:
=DATE(
YEAR(DATE(YEAR(B1)+1,1,1)),
1,
MOD(7+WEEKDAY(B1)-WEEKDAY(DATE(YEAR(B1)+1,1,1)),7)+1
)
Aqui está uma verificação de sanidade:
(O formato da data está definido como Longo, localidade dos EUA)
No exemplo do @CmPi ele encontra a primeira data do próximo ano e adiciona o número apropriado de dias desde o primeiro à instância do mesmo dia da semana. Neste método, apenas defino o dia seguinte na mesma data.
Responder3
Experimente isso
=CHOOSE(WEEKDAY(DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")
ESCOLHER: Seleciona o dia na matriz de dias da semana (DATA: Dom, Seg, Terça, etc) WEEKDAY: Obtém o dia da semana como um número calculado por DATE() DATE: Adiciona um ano +1 a A1 e mantém o mês e dia iguais para A1 e retorna a data em A1 + 1 ano.
Se você deseja obter o primeiro dia do próximo ano em janeiro: 1º de janeiro, substitua mês e dia por 1.. ,MONTH(A1),DAY(A1)
=>,1,1
Espero que isto ajude.