好培训网合作机构 > 学校机构 > 北京回归线欢迎您!

咨询热线 13305008725

恍然大悟,原来Excel应该这么处理日期

发布时间:2018-05-19 06:16:52

Excel中大量的数据是日期相关的,例如,过去的销量,员工考勤数据等等。我们经常需要处理日期,例如,得到两个项目之间的天数,员工实际工作的天数等等。但是,在实际中,往往有很多学员或者客户拿着这样的问题来问我们,其中当然有大家不掌握的日期类函数,但是,很大一部分却是由于对日期的不理解造成的。

我们今天就来介绍一下Excel中的日期相关的基本知识。至于那些强大的日期函数,我们在后面的文章中再介绍。

日期实际上就是数值!

在Excel中,日期实际上在内部存储为数值。打开Excel,随便在一个单元格中输入一个日期,比如,2015-5-1,然后把该单元格格式修改为数值,就会看到该单元格的结果变成了一个数字:42125.00。这个数字就是日期“2015-5-1”在Excel内部的存储值。这个数字代表了从1900-1-0开始,已经过了多少天了。同样,如果你在单元格中输入一个数字,然后把单元格格式修改为日期,就会看到,单元格中显示了一个正常的日期。

在这里要注意,数字0代表了1900-1-0。如果你在单元格中输入0,然后修改单元格格式为日期,单元格中显示的日期就是“1900-1-1”。

Excel中任意的数值都可以转化为日期,但是,反过来,不是任意的日期类型都可以转换为数字。只有正常的日期可以通过修改单元格格式转化为数值,但是错误的日期通过这个方式不能转换为数值,你可以试试“2015-6-31”。这里要提示你的是,如果你输入“1900-1-0”这个日期,你会发现不能转换为数值。

实际上,“1900-1-1”之前的日期都是错误的日期,因为Excel能支持的最早日期就是1900-1-1。(这些错误日期不能转换为数值的原因是当你输入错误日期时,Excel就把它当作了文本处理了。而如果是Excel能够识别的正确日期,Excel会自动把它当作数值存储)

一个小“Bug”

我们前面说的日期是以数值的形式存储,数值代表了从1900-1-0后的第多少天。这个说法有一个小错误。如果你有万年历,实际上数一数从1900-1-0开始已经过了多少天,跟Excel中这个数值做对比,会发现比实际上多了1。

造成这个现象的原因是因为在Excel中1900年被当作了一个闰年,有1900-2-29这个日期。但是实际上,1900年并不是闰年。

这并不是一个无意中的bug,而是有意这么做的。原因是为了与Lotus

123兼容。毕竟,在Excel之前,Lotus 123可是最流行的表格软件。而且,我们离1900年很远了,绝大部分数据都在1900-3-1之后,所以,这么做的实际影响很小。

时间数据

Excel中的日期和时间实际上是一种数据。前面说的日期代表了多少天。实际上这个数值还有小数部分。小数部分就代表了时间。

也就是1天24小时代表了1,0就是0点,上午6点,代表0.25,因为已经过了1天的1/4了。“2015-5-1 13:00”转换为数值后,结果为42125.。

知道这些有什么用?

我们理解了日期和时间在Excel中的存储方式,可以帮助我们很简单的处理数据。比如,如果我们有一个项目开始时间,和项目结束时间,想算一下项目一共进行了多少天,只要简单的把两个日期相减就可以了。

恍然大悟,原来Excel应该这么处理日期

又或者,我们项目从2015-5-1开始,项目预计需要85天完成,那么结束日期在几月几号呢,同样只要在开始日期上加上85就行了。

恍然大悟,原来Excel应该这么处理日期

为什么这么转换的日期在有的Excel文件中是错的呢?

有的朋友按照上面的处理,有时会得到错误的结果。这是为什么呢?多数情况下,是因为实际上Excel有两套日期系统。这两套的处理方式是一样的,不过一套就是从1900-1-0开始(就是我们上面讲的),另外套台是从1904-1-0开始的。这个“1904系统”是为了兼容苹果公司的Macintosh系统而开发的。每个Excel文件只能选择一种日期系统,如果你的机器不是苹果系统,应该多数都缺省支持1900系统。

当你拿到一个从苹果系统来的Excel文件,其中的日期可能是1904开始的。你可以修改它。修改方法是(以Excel2013为例):依次点击 “文件”,“选项”,“高级”,在大概后1/3处找到如下图所示的选项,把√去掉就可以了。

恍然大悟,原来Excel应该这么处理日期

输入两位数的年份

我们这里有一个小困惑:如果我们在输入年份的时候只输入2位数的年份,Excel会怎么做。例如,我们不输入“2015-5-1”,而只输入“15-5-1”,我们发现Excel自动的把日期变成了“2015-5-1”,那么Excel是怎么判断年份的呢。

实际上,Excel有一个判断的分界线,“30”,如果你输入的年份小于30,那么,Excel就会当作21世纪的年份,变成20XX,如果你输入的年份大于等于30,那么Excel就会当作20世纪的年份,变成19XX。

总结

当我们理解了Excel中的日期和时间数据是以数值格式的存储的这个事实后,我们对Excel中与日期相关的数据处理会更灵活。这种灵活的处理当然离不开强大的日期函数。在后面的系列文章中,我们将为你介绍Excel中的日期函数。