Extrair o ano e a semana ISO de uma data pode parecer simples, mas a complexidade surge ao considerar que o padrão ISO 8601 define que a semana 1 de um ano é aquela que contém a primeira quinta-feira. Isso significa que algumas datas no início ou final de um ano podem pertencer a uma semana do ano anterior ou posterior. O método apresentado aqui é o mais confiável porque utiliza funções nativas do Excel que já implementam essa lógica corretamente.
A função DATADIF não está documentada oficialmente pela Microsoft, mas é amplamente utilizada para calcular a diferença entre duas datas. Para obter a semana ISO, podemos combiná-la com outras funções para calcular o número da semana com base no padrão ISO.
=ARREDMULTB((A1-DATADIF("1/1/"&ANO(A1);A1;"d")-SEMANA(A1;2))/7;1)+1
Para obter o resultado no formato "AAAA-WW", podemos combinar as funções ANO, TEXTO e a fórmula anterior. Isso garante que o ano e a semana sejam exibidos corretamente, mesmo quando a semana pertence ao ano anterior ou posterior.
=TEXTO(ANO(A1);"0000")&"-"&TEXTO(ARREDMULTB((A1-DATADIF("1/1/"&ANO(A1);A1;"d")-SEMANA(A1;2))/7;1)+1;"00")
Para garantir que a semana calculada esteja correta, podemos usar a função SOMA.PRODUTO para verificar se a data está dentro do intervalo correto da semana ISO. Isso é útil para validação de dados em grandes conjuntos.
=SE(SOMA.PRODUTO((SEMANA(A1-ROW(INDIRETO("1:7"))+1;2)=4)*(ANO(A1-ROW(INDIRETO("1:7"))+1)=ANO(A1)))=1;ANO(A1)&"-"&TEXTO(ARREDMULTB((A1-DATADIF("1/1/"&ANO(A1);A1;"d")-SEMANA(A1;2))/7;1)+1;"00");"Erro")
| Data | Ano-Semana ISO |
|---|---|
| 01/01/2023 | 2022-52 |
| 02/01/2023 | 2023-01 |
| 31/12/2023 | 2023-52 |
| 25/12/2024 | 2024-52 |
| 30/12/2024 | 2024-53 |
| 31/12/2024 | 2025-01 |
Com estas fórmulas, você pode extrair o ano e a semana ISO de qualquer data no Excel de forma precisa e automática. Este método elimina a necessidade de cálculos manuais complexos e garante que os resultados estejam sempre alinhados com o padrão ISO 8601, mesmo para datas nos limites de um ano.