在excel中列出date,月份和年份

我有一组数据需要date格式,但看起来像28041980但我需要它在date格式,如d/m/yyyy可以这样做

在这里输入图像说明

这将占领主要的一天是1或2个字符长。 但是它只会假设D / M / Y

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

一旦您将date作为适当的Excel序列号,您可以更改格式以获得您想要的任何显示。 有一个Datefunction ,需要个人年,月和日值给出一个实际的date。 所有你需要的是一个小math挑选个别部分。

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

您可以尝试使用TEXTDATE以及子string( RIGHTMIDLEFT ),如:

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

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

 =RIGHT("00000000"&A1, 8) 

向下填充到列的范围,然后复制,粘贴特殊值以删除公式。

select这个新值的列,并使用数据►数据工具►文本到列。 select固定宽度►下一步►下一步然后selectdate,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