Преобразовать измененную юлианскую дату в дату UTC в Excel

Я ищу формулу, в которой я могу поставить 5-значную измененную юлианскую дату и сделать так, чтобы она преобразовала ее в сегодняшнюю дату для меня.

Я сделал это таким образом, чтобы у меня был отдельный лист с таблицей, но, хотя он работает, я ищу способ без отдельной таблицы. Вот некоторая информация:

00000 следует перевести на 11-17-1858

58890 следует перевести на 02-11-2020

Каждый раз, когда число увеличивается на 1, оно должно увеличиваться на 1 день. Это должно учитывать и високосные годы. Любая помощь будет оценена.

Вот сайт, который в настоящее время выполняет преобразования:

http://www.csgnetwork.com/julianmodifdateconv.html

Это должно быть сделано без макросов, буквально нужно в формате формулы.

Всего 1 ответ


Просто 15018 и отформатируйте результат как дату.

Почему 15018 а не 15020 ?

  • В Excel значение 1-Jan-1900 равно 1
  • В вашей схеме дат 15020 = 1-Jan-1900 Но если бы у вас было число 15020 для преобразования и вычитания 15020 оно бы -> 0 , а не желаемое 1 .
  • Поэтому мы уменьшаем 15020 на 1 до 15019 .

Далее, в Excel есть преднамеренная «ошибка», широко обсуждаемая как в SO, так и в Интернете, согласно которой 1900 год ошибочно классифицируется как високосный.

Таким образом, для любого эквивалента даты после 28-Feb-1900 года мы должны вычесть дополнительный 1 .

Если вы можете иметь дело с датами между 1/1/1900 и 2/28/1900 вам нужно будет изменить формулу, чтобы учесть это.


Есть идеи?

10000