Julian在excel中将date设置为mm / dd / yy

我正试图将excel vba中的Juliandate(yy / ddd)转换为regualr mm / dd / yy数据。 我有一个使用select case语句的想法,每个月调用一个函数。 但是,这是很多代码,我很懒。 我想知道是否有更好的方法?

根据这个网站 :

=DATE(IF(0+(LEFT(A1,2))<30,2000,1900)+LEFT(A1,2),1,RIGHT(A1,3)) 

它只要在A1中有一个五位数字就可以工作。 例如,它变成1995年2月1日的95032。 如果您的数据实际上有斜线(95/032),则需要调整公式。

同一个网站也有一个vba部分。 它说,以下将起作用:

 Function JDateToDate(JDate As String) As Long Dim TheYear As Integer Dim TheDay As Integer Dim TheDate As Long TheYear = CInt(Left(JDate, 2)) If TheYear < 30 Then TheYear = TheYear + 2000 Else TheYear = TheYear + 1900 End If TheDay = CInt(Right(JDate, 3)) TheDate = DateSerial(TheYear, 1, TheDay) JDateToDate = TheDate End Function 

我没有testingvba代码,但由于它基本上是上述公式的代码版本,所以应该做这个工作。

编辑:正如tbischel指出,这实际上不是一个朱利安date。 这是一个序号date 。