Формула Excel: преобразование даты в юлианский формат -

Содержание

Общая формула

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

Резюме

Если вам нужно преобразовать дату в юлианский формат даты в Excel, вы можете сделать это, создав формулу, которая использует функции ТЕКСТ, ГОД и ДАТА.

Задний план

«Юлианский формат даты» относится к формату, в котором годовое значение даты комбинируется с «порядковым днем ​​этого года» (например, 14-й день, 100-й день и т. Д.) Для формирования штампа даты.

Есть несколько вариантов. Дата в этом формате может включать 4-значный год (гггг) или год из 2-х цифр (гг), а номер дня может быть дополнен или не дополнен нулями, чтобы всегда использовать 3 цифры. Например, для даты 21 января 2017 г. вы можете увидеть:

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

Решение

Для года с двумя цифрами + номер дня без заполнения используйте:

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

Для года с двумя цифрами + номер дня, дополненный нулями до трех знаков:

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

Для года из четырех цифр + номер дня, дополненный нулями до трех знаков:

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

Объяснение

Эта формула строит окончательный результат из 2 частей, соединенных конкатенацией с оператором амперсанда (&).

Слева от амперсанда мы генерируем значение года. Чтобы извлечь год из 2 цифр, мы можем использовать функцию ТЕКСТ, которая может применять числовой формат внутри формулы:

TEXT(B5,"yy")

Чтобы извлечь полный год, используйте функцию ГОД:

YEAR(B5)

Справа от амперсанда нам нужно вычислить день года. Мы делаем это, вычитая последний день предыдущего года из даты, с которой мы работаем. Поскольку даты - это просто порядковые номера, это даст нам «n-й» день года.

Чтобы получить последний день года предыдущего года, мы используем функцию ДАТА. Когда вы задаете DATE значение года и месяца и ноль для дня, вы получаете последний день предыдущего месяца. Так:

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

дает нам последний день прошлого года, которым в примере является 31 декабря 2015 года.

Теперь нам нужно дополнить дневное значение нулями. Опять же, мы можем использовать функцию ТЕКСТ:

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

Обратная юлианская дата

Если вам нужно преобразовать дату по юлианскому календарю обратно в обычную дату, вы можете использовать формулу, которая анализирует дату по юлианскому календарю и запускает ее через функцию даты с месяцем, равным 1, и днем, равным «n-му» дню. Например, это создаст дату из юлианской даты yyyyddd, например, 1999143.

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

Если у вас просто номер дня (например, 100, 153 и т. Д.), Вы можете жестко запрограммировать год и вставить следующий день:

=DATE(2016,1,A1)

Где A1 содержит номер дня. Это работает, потому что функция ДАТА знает, как корректировать значения, выходящие за пределы допустимого диапазона.

Интересные статьи...