在excel中列出日期,月份和年份

时间:2016-01-29 03:49:59

标签: excel

我有一组数据需要采用日期格式,但看起来像28041980 但我需要它的日期格式如d/m/yyyy 可以这样做吗

enter image description here

4 个答案:

答案 0 :(得分:1)

这将导致前导日为1或2个字符长。但它只能假设D / M / Y

A1 = 28041980
A2 = 3091970

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

答案 1 :(得分:1)

将日期作为正确的Excel序列号后,您可以更改格式以获得所需的任何显示。有一个Date function,它会将个别的年,月和日值视为实际日期。您只需要一点点数学就可以分开各个部分。

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

您需要先将所有数值转换为可转换的通用格式。在未使用的列中,正确使用

=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