日期格式在Excel中

时间:2014-01-20 20:50:09

标签: excel

我有一个包含数千行的列。该列意为日期,格式为dd / mm / yyyy

但是,当我尝试根据日期做公式时,显然有些不对劲。

例如,如果您尝试在日期上应用自动过滤器,则其中一些会按可扩展框分组为一年,而其他一些则显示为自己的项目。

对于每条记录,我尝试了一个公式来解析它。=DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2))

这没有帮助。

我还选择了该列并将其从一般格式转换为日期格式

我真的不知道如何更清楚地提出这个问题。我可以告诉你,当我运行=year(right(A1,4))格式的日期为2013年1月11日时,我得到1903而不是2013。当我运行=date(right(A1,4),mid(A1,3,2),left(A1,2))时,公式会返回2/10/3192

1 个答案:

答案 0 :(得分:3)

为什么你的公式不能正常工作,这很简单。如果您正在使用这样的内容:RIGHT(A2,4),则A2的值将转换为41579(2013年1月11日)(Excel将所有日期存储为整数,所有时间都存储为小数部分。您可以阅读更多内容here)。下一个公式应该运作良好:

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

顺便说一句,如果您想获得正确的日期格式,可以在某个空列中添加公式(但在此列的设置日期格式之前):

=A2*1

然后将其拖下来。然后复制此临时列中的值并使用colunm A中的“粘贴特殊 - >值”粘贴它们(其中也应该是日期格式)

enter image description here

或者您可以使用这个简单的宏:

Sub test()
    With Range("A2:A100")
        .NumberFormat = "dd/mm/yyyy"
        .Value = .Value
    End With
End Sub