EXCEL函数 篇二:之 日 期 时 间 函 数
时间是什么?时间是世界上最快而又最慢,最长而又最短,最平凡而又最珍贵的。时光从指尖划过还来不及感受,将所有的一切化为绕指柔。蓦然回首,圣诞到来。在这个时间里,我们来一篇关于时间的函数。
在我们日常的工作中,常见的是计算周数,某一天是周几,还有距离项目截止还有几个工作日等等,比较笨的方法就是拿出日历来一天天算。如果利用好时间函数,会收到意想不到的效果。在excel中关于时间的函数,可不老少。
首先,说下时间的格式问题,你是不是遇到这类问题,明明自己写的是日期,返回的值却是数值型。在Excel中,日期和时间的本质就是数值,是以一种特殊的数值形式储存的,这种数值形式又被称为“序列值”。
在MS操作系统的Excel版本中,日期默认为“1900年日期系统”。也就是以1900年1月1日作为序列值的基准日,这一天的序列值记为1,此后的日期以此递增。如1900年1月31日的序列值是31,2021年11月25日的序列值为44525。
由于日期是以数值的形式储存的,所以它可以直接参与加减乘除的数值运算,这意味着着什么呢?
如果我们要计算两个日期之间相差的天数,可以直接相减。
比如我们要计算从今天到2022年8月26日中间隔了多少天,可以使用公式:="2022/8/26"-"2021/11/25"=274
但和数值不同的是,当日期以常量的形式出现在大部分公式中时,需要转换成数值,比如北京冬奥会开幕日期2022/2/4,转换为数值是44596。又或者以日期格式输入,并使用半角双引号包裹起来,比如上述公式中的"2022/8/26",但在未进行数学运算之前,该值为文本日期,并非真正的日期。
以下公式计算结果是错误的:
=IF(A1>"2021/12/25","圣诞节已过","未到圣诞节")
公式中"2021/12/25"是一个文本值,并非日期。任意文本值都大于一切日期,不论A1单元格的日期是多少,公式都将返回"未到生日"。
以下公式才是正确的:
=IF(A1>"2021/12/25"*1, "圣诞节已过","未到圣诞节")
公式使用数学运算*1,将"2021-12-25"转换为真正的日期(一个数值序列值),然后再和A1单元格的日期作比较,变成同类型数据作比较。如下
接下来,我们再说下时间。
对于日期来说,1天的数值单位就是1,那么1小时就可以表述为1/24,同理,1分钟可以表述为1/24/60。也就是说,一天中的每一个时刻都可以由小数形式的序列值来表示。比如,中午12点也就是0.5(1天的一半1/2)。同日期一样,时间也可以直接参与加减乘除的数值运算。
如一个人在从17点45分开始看书,21点25分看完一本书,那么他看完这本书花了多长时间呢,公式:="21:24"-"17:45",结果是3小时39分。
需要说明的是,当时间以常量的形式出现在公式中时,同日期类型一样,必须使用数值格式,比如12点,数值为0.5。又或者以时间格式输入,并使用半角双引号包裹起来,比如以上所示的"9:56",但在未进行数学运算之前,同文本日期一样,该值为文本,并非真正的时间。
以下公式计算结果是错误的:=IF(A1>"9:00","迟到","未迟到")
以下公式才是正确的:=IF(A1>"9:00"*1,"迟到","未迟到")
公式使用*1的数学运算的方式,将文本时间转换为数值。
根据上述的描述,我们很容易计算出哈哈,是不是跑题了呢,下面回归正题,excel中有25个时间函数,具体列表如下,这里不再详细赘述每个函数的用法示例,仅用表格列出来。如有需要后续再将具体示例展示出来。当然,还可以利用VBA创建自定义的时间函数。
双木林
校验提示文案
发烧的CPU
校验提示文案
hunter150
校验提示文案
hunter150
校验提示文案
发烧的CPU
校验提示文案
双木林
校验提示文案