Fórmula do Excel: converter data para formato juliano -

Índice

Fórmula genérica

=YEAR(date)&TEXT(date-DATE(YEAR(date),1,0),"000")

Resumo

Se você precisar converter uma data em um formato de data juliana no Excel, poderá fazê-lo criando uma fórmula que use as funções TEXTO, ANO e DATA.

fundo

"Formato de data juliana" refere-se a um formato onde o valor do ano de uma data é combinado com o "dia ordinal para aquele ano" (ou seja, 14º dia, 100º dia, etc.) para formar um carimbo de data.

Existem várias variações. Uma data neste formato pode incluir um ano de 4 dígitos (aaaa) ou um ano de dois dígitos (aa) e o número do dia pode ou não ser preenchido com zeros para sempre usar 3 dígitos. Por exemplo, para a data de 21 de janeiro de 2017, você pode ver:

1721 // YYD 201721 //YYYYD 2017021 // YYYYDDD

Solução

Para um ano de dois dígitos + um número de dia sem uso de preenchimento:

=TEXT(B5,"yy")&B5-DATE(YEAR(B5),1,0)

Para um ano de dois dígitos + um número de dia preenchido com zeros até 3 casas:

=TEXT(B5,"yy")&TEXT(B5-DATE(YEAR(B5),1,0),"000")

Para um ano de quatro dígitos + um número de dia preenchido com zeros até 3 casas:

=YEAR(B5)&TEXT(B5-DATE(YEAR(B5),1,0),"000")

Explicação

Esta fórmula cria o resultado final em 2 partes, unidas por concatenação com o operador E comercial (&).

À esquerda do E comercial, geramos o valor do ano. Para extrair um ano de 2 dígitos, podemos usar a função TEXT, que pode aplicar um formato de número dentro de uma fórmula:

TEXT(B5,"yy")

Para extrair um ano completo, use a função YEAR:

YEAR(B5)

No lado direito do E comercial, precisamos descobrir o dia do ano. Fazemos isso subtraindo o último dia do ano anterior da data com a qual estamos trabalhando. Como as datas são apenas números de série, isso nos dará o "enésimo" dia do ano.

Para obter o último dia do ano do ano anterior, usamos a função DATE. Quando você atribui a DATE um valor de ano e mês e um zero para o dia, obtém o último dia do mês anterior. Assim:

B5-DATE(YEAR(B5),1,0)

nos dá o último dia do ano anterior, que é 31 de dezembro de 2015 no exemplo.

Agora precisamos preencher o valor do dia com zeros. Novamente, podemos usar a função TEXT:

TEXT(B5-DATE(YEAR(B5),1,0),"000")

Data juliana reversa

Se precisar converter uma data juliana de volta em uma data normal, você pode usar uma fórmula que analisa a data juliana e a executa por meio da função de data com um mês de 1 e dia igual ao "enésimo" dia. Por exemplo, isso criaria uma data a partir de uma data juliana aaaa, como 1999143.

=DATE(LEFT(A1,4),1,RIGHT(A1,3)) // for yyyyddd

Se você tiver apenas um número de dia (por exemplo, 100, 153, etc.), poderá codificar o ano e inserir o dia:

=DATE(2016,1,A1)

Onde A1 contém o número do dia. Isso funciona porque a função DATE sabe como ajustar os valores que estão fora do intervalo.

Artigos interessantes...