体验零代码搭建

Excel是怎样表示日期和时间的

网友投稿  ·  2023-11-27 12:11  ·  表单工具  ·  阅读 2010


Excel是怎样表示日期和时间的?我们看到的不一定是真实的!通常,我们在单元格中按惯用的日期格式输入数据时,Excel会自动将其转换成日期。下图是我在单元格中输入日期和时间并设置完格式后的样子:

Excel是怎样表示日期和时间的?我们看到的不一定是真实的!通常,我们在单元格中按惯用的日期格式输入数据时,Excel会自动将其转换成日期。下图是我在单元格中输入日期和时间并设置完格式后的样子:

Excel是怎样表示日期和时间的

图1

这只是我们看到的样子,实际上Excel是按下图所示的数字来存储这个日期和时间的:

图2

也就是说,在Excel中,日期和时间都是一个数字,日期为整数部分,时间为小数部分。日期是一个序列号,表示自1900年1月1日以来的天数。序号1对应1900年1月1日,序号2对应1900年1月2日,依次类推。时间表示为一个单位为24小时的小数,其范围为0~1。起始点在午夜,其序号为0,正午的时间序号为0.5。上图中可以看出,2017年8月26日的序号为42973,上午9时1分表示为.38。

在Excel中,时间的最小单位是千分之一秒,时间序列号表示为23:59:59.999。

一分钟约等于0.00069444,即1/(24*60)。

一秒钟约等于0.00001157,即1/(24*60*60)。

1900年之前的日期怎么办

正如前文所,Excel是以1900年1月1日开始的序号来存储日期的,如果输入1900年1月1日之前的日期,Excel将会以文本的形成存储,因此不能对其进行格式、计算等操作。

在单元格中输入日期和时间

只要遵循下列规则,Excel都会自动将输入视为日期和时间。

使用斜杠(/)或者连字符(-)连接年月日

使用冒号(:)连接时分秒

输入××年×月×日或×时×分

同时输入日期和时间时,在日期和时间之间使用空格分开

查找日期

如果只是按单元格中显示的内容来查找日期,有时候会找不到数据,如下图所示。

图3

必须按照公式栏中显示的格式输入要查找的内容,才能正确找到单元格,如下图所示。

图4

日期计算

由于Excel以数字序号存储日期和时间,因此它们可以使用公式进行加减运算。下图所示的公式计算2017年已经过了多少天:

图5

计算累计的时间值

由于Excel表示时间的方式,当我们将时间值累加起来时,如果超过24小时,将自动增加1天。此时,可以设置单元格数字格式为:

[hh]:mm

如下图所示:

图6

Excel的一些处理日期和时间的函数及示例

NOW()函数获取当前的日期和时间。

TODAY()函数获取当前的日期。

这两个函数都会在用户编辑公式、输入另一个公式、工作表重新计算或者打开工作簿时更新为最新日期或时间,因此它们的值是动态的。

DATE()函数返回日期。如果单元格A1中的文本是20170829,要将其转换成日期,则可以使用下面的公式:

=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))

DATE()函数会自动调整参数为正确的日期,下面的公式:

=DATE(2017,7,32)

返回2017-8-1。

TIME()函数返回时间。

DATEVALUE函数和TIMEVALUE()函数返回代表日期和时间的序列号和小数,其参数应该是文本形式的日期和时间,否则会得到#VALUE!错误。

YEAR()函数、MONTH()函数和DAY()函数分别提取日期中的年月日。

HOUR()函数、MINUTE()函数和SECOND()函数分别返回时间中的时分秒。注意,要在指定的时间基础上增加时分秒,需要进行相应的换算。换算基准为:1小时表示为1/24,1分钟为1/(24*60),1秒种为1/(24*60*60)。因此,如果要在现在的时间上加5小时30分50秒,则应加上5*(1/24)+30*(1/(24*60))+50*(1/(24*60*60))。

NETWORKDAYS()函数可以求出指定项目开始日期、结束日期、假期时的工作日天数。

WORKDAY()函数可以求出从某日期开始,经过指定天数并扣除假期后的结束日期,也可以获取某个日期是星期几。

图7

DAYS()函数返回两个日期之间的天数。

WEEKNUM()函数返回指定的日期在所给年份中的周数。

EDATE()函数返回从起始日期开始k个月前或后的日期。

EOMONTH()函数返回起始日期之前或之后k个月的月底日期。

DATEDIF()函数以指定的格式单位返回两个日期之差。

下面的公式返回任何当前月份的最后一天:

=DATE(YEAR(C1),MONTH(C1)+1,0)

虽然月份的最后一天会是28、29、30或31,但任何月份的最后一天都是下一月份的前一天。单元格C1中包含要返回当前月份最后一天的日期。

下面的公式计算准确的年龄:

=YEAR(NOW())-YEAR(Birthday)-(DATE(YEAR(NOW()),MONTH(Birthday),DAY(Birthday))>NOW())

公式的关键点是判断当前日期是否大于生日,若还没有过生日,则减1,否则保持不变。公式中的Birthday为生日。

下面的公式计算准确的时间差:

=IF(EndTime<StartTime,1+EndTime-StartTime,EndTime-StartTime)

其中,StartTime为开始时间,EndTime为结束时间。当工作开始于前天晚上,结束于当天上午时,上述公式能计算准确的时间差。


掀开面纱,看看Excel文件到底是什么 << 上一篇
2023-11-27 12:11
excel表格不一样的R1C1引用样式
2023-11-27 12:11
下一篇 >>

相关推荐