days返回两个日期相差的天数
我们想计算两个日期之间的差异天数,比如有这样两个时间:
2021-2-1 20:00:01 | 2021-1-1 23:00:00 |
-
可以直接相减,得到30.8750115740695,设置单元格格式——d"天" h"小时" mm"分钟" ss"秒",可以得到30天 21小时 00分 01秒;
-
可以利用days函数,得到整数的天数=DAYS(B2,C2),得到:31;
-
此外,还有个days360函数,函数是按每个月30天去计算两个时间之差的,不过平时几乎没用过。
了解序列号
序列号从1900年1月1日开始计数,当天为1,之后日期增加一天,序列号+1,以整数形式显示,比如1900年1月31日序列号是31。
了解序列号,可以方便我们进行关于时间的计算,有这样几个函数可以了解下:
-
DATEVALUE函数,将文本格式的时间转换成序列号,得到整数:
=DATEVALUE("2021-01-01"),得到44197;
-
TIMEVALUE函数,将文本的时间返回小数, =TIMEVALUE("2020/1/1 8:00:00"),得到0.333...;
-
EDATE函数,返回指定日期之间或之后指定月份数后的序列号。不过可以对单元格内的时间处理,参数选择0的时候,也可以将当前的时间转换成序列号。如=EDATE(B2,0),得到:43862。
日期加减
对日期的加减在工作中会经常遇到,一般是天数的加减和月份的加减。
-
天数加减:我们想得到当前日期之前或之后天数后的日期,直接对日期进行数字的加减即可,如=B2+1得到2020年1月1号后面的一天:2020/2/2;
-
月份加减:使用上面提到的EDATE函数,比如想得到2020年1月15号三个月后的日期,=EDATE(B10,3),得到序列号43936,再通过text函数简单处理下格式:=TEXT(C10,"yyyy-mm-dd"),就可以得到2020-04-15了。
返回星期几
观测数据时,工作日和周末的差别需要标注,Excel里的weekday函数可以帮助我们实现。参数有1~7共7个,=1时,顺序为周日~周六,=2时,为周一~周日,以此类推。比如:
=WEEKDAY("2021-8-1",1),结果为1,即周日;
=WEEKDAY("2021-8-1",1),结果为7,即周日。