簡體   English   中英

在Excel中設定日期,月份和年份

[英]setting out date and months and years in excel

我有一組數據需要為日期格式,但看起來像28041980但我需要它為日期格式,如d/m/yyyy可以做到這一點

在此處輸入圖片說明

這將導致首日長度為1或2個字符。 但這僅在D / M / Y的情況下有效

A1 = 28041980
A2 = 3091970

   B1 =REPLACE(REPLACE(A1,LEN(A1)-3,0,"/"),LEN(A1)-5,0,"/")

一旦獲得正確的Excel序列號作為日期,就可以更改格式以獲取所需的任何顯示。 有一個Date函數 ,它使用各個年,月和日的值來給出實際日期。 您所需要的只是一點數學,以分解各個部分。

=DATE(MOD(A1,10000),MOD(TRUNC(A1/10000),100),TRUNC(A1/1000000))

您可以嘗試使用TEXTDATE以及子字符串( RIGHTMIDLEFT ),例如:

=TEXT(DATE(RIGHT(A1,4),MID(A1,3,2),LEFT(A1,2)), "dd/mm/yyyy")

您首先需要將所有數值轉換為可以轉換的通用格式。 在正確使用的未使用列中,

=RIGHT("00000000"&A1, 8)

填充到列的范圍,然后復制,粘貼特殊值以刪除公式。

選擇此新值列,然后使用數據►數據工具►文本到列。 選擇固定寬度►下一步►下一步,然后選擇日期,DMY和完成。

在VBA中,如下所示。

Sub date_convert()
    Dim cl As Long

    cl = 1  'column A

    With Worksheets("Sheet2")
        With .Range(.Cells(2, cl), .Cells(Rows.Count, cl).End(xlUp))
            .Offset(0, 1).EntireColumn.Insert
            With .Offset(0, 1)
                .FormulaR1C1 = "=RIGHT(""00000000""&RC[-1], 8)"
                .NumberFormat = "@"
                .Value = .Value2
                .TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, _
                               FieldInfo:=Array(0, 4)
                .NumberFormat = "dd/mm/yyyy"
            End With
            'optionally remove original column
            '.entirecolumn.delete
        End With
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM