在excel中列出日期、月份和年份
我有一组数据需要采用日期格式,但看起来像在excel中列出日期、月份和年份,excel,Excel,我有一组数据需要采用日期格式,但看起来像28041980 但是我需要它是日期格式,比如d/m/yyy 这能做到吗 您可以尝试使用文本和日期以及子字符串(右、中和左),例如: 这将说明前一天的长度为1或2个字符。但它只能在假设D/M/Y的情况下工作 A1 = 28041980 A2 = 3091970 B1 =REPLACE(REPLACE(A1,LEN(A1)-3,0,"/"),LEN(A1)-5,0,"/") 您需要首先将所有数值转换为可以转换的通用格式。在正确使用的未使用列中 =R
28041980
但是我需要它是日期格式,比如d/m/yyy
这能做到吗
您可以尝试使用
文本
和日期
以及子字符串(右
、中
和左
),例如:
这将说明前一天的长度为1或2个字符。但它只能在假设D/M/Y的情况下工作
A1 = 28041980
A2 = 3091970
B1 =REPLACE(REPLACE(A1,LEN(A1)-3,0,"/"),LEN(A1)-5,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
将日期作为正确的Excel序列号获取后,可以更改格式以获得所需的任何显示。有一种方法,它需要单独的年、月和日值来给出实际日期。你所需要的只是一点数学来区分各个部分
=DATE(MOD(A1,10000),MOD(TRUNC(A1/10000),100),TRUNC(A1/1000000))
右键单击,格式化。虽然这是一个很好的转换,但这可能不是在MDY系统上创建DMY日期的原因;有些日期可能转换错误,而另一些则完全不正确。或者相同的想法有点不同:
=REPLACE(A1,LEN(A1)-5,2,“/”和MID(A1,LEN(A1)-5,2)和“/”
3091970将是1970年9月30日,而不是1970年9月3日。您需要将LEFT(A1,2)
更改为LEFT(A1,Len(A1)-6)
=DATE(MOD(A1,10000),MOD(TRUNC(A1/10000),100),TRUNC(A1/1000000))