1. 基本的时间与日期的运算:
例1: 开始时间为9:00,在D4单元格,经过90分钟后是几点,90分钟在E4单元格:
=D4+E4/24/60 = 10:30
例2: 开始时间 9:00,在D5单元格,到12:00在E5单元格 ,持续了多少分钟
=(E5-D5)*24*60
=E5-D5得出3:00,化为数值格式是个小数,表示天,化为分钟的话就要用天*24*60 记住,这里写函数的单元格格式要设置为数值格式,不然会显示0:00
例3: 开始日期:2013/6/16,在D6单元格,截止日期:2013/8/24,在E6单元格,求间隔天数:
=D6-E6
例4: 开始日期: 2013/6/16,单元格D7,天数为70天,单元格E7, 求结束日期:
=D7+E7
例5: 开始日期:9:00,单元格D8, 结束日期: 12:00 ,单元格E8 持续时间:
=E8-D8
例6: 开始时间: 9:00,单元格D9, 结束时间:12:00,单元格E9 持续时间(分钟):
= (E8-D8)*24*60
对于日期而言,将写着日期的单元格的格式更改为常规格式,会显示一个数字,表示从1900年1月1日到单元格里日期的天数
对于时间而言,将单元格格式设置为常规格式或数值格式,会显示一个小于等于1的小数
也就是,天数是整数,小数表示不到一天,比如0.5表示中午十二点,2.5表示1900年1月2号12:00 这个在看单元格格式时可以看出来
也就是,对于一个数字来说,Excel从来不觉得有日期跟时间这种说法,它只是把数字描绘成别的样式
对于数字来说,整数的部分表示天,小数部分表示小时
2. Year、Month、Day函数
year(2013/6/16) =2013 Month(2013/6/16) = 3 Day(2013/6/16) = 16
3. Date()函数
Date(年,月,日) 返回:年/月/日
如: Date(year(2013/6/16),Month(2013/6/16),Day(2013/6/16)) = 2013/6/16
或设置:2013/6/16(B5单元格) 则还可写成:
Date(year(B5),Month(B5),Day(B5)) = 2013/6/16
例7: 开始日期:2013/6/16(B5单元格),间隔月份:4(C5) 求结束日期:
=date(Year(B5),Month(B5)+C5,Day(B5)) 这里不用担心间隔月份太大 月份之和超过12个月了,因为它 会自动进一,让年份加一年
例8: 开始日期:2013/6/16(B12单元格) 求本月最后一天:
=date(Year(B12),Month(B12)+1,0) 7月0号就是6月最后一天,也就是7月1号的前一天。这里日那里写 了0,是非法的日期,系统会默认是7月1号的前一天
例9: 开始日期:2013/6/16 求本月的天数
==DAY(DATE(YEAR(2013/6/16),MONTH(2013/6/16)+1,0))
例10: 入职日期:2002/9/10(B12单元格), 离职日期:2012/9/10(C2),求工龄:
=(C2-B12)/12/30 = 10 保留0位小数 这个单位是年
4. Datedif函数:
Datedif(开始日期,结束日期,类型)
类型包括:
Y 表示年,这里是选取时间段中的年
M 表示月,这里是选取时间段中的月
D 表示日,这里是选取时间段中的日
YM 表示年,这里是选取时间段中的忽略年后的月
YD 表示年,这里是选取时间段中的忽略年后的日
MD 表示年,这里是选取时间段中的忽略月后的日
例11: 入职日期: 2002/9/10(B5) 离职日期: 2012/9/10(C5) 求工龄 :
=datedif(开始日期,结束日期,年份)
=DATEDIF(B5,C5,"y")
=DATEDIF(B5,C5,"m")
=DATEDIF(B5,C5,"d") = C5-B5
=DATEDIF(B5,C5,"ym") 表示除去年份,看月份,比如10年零1个月,使用这个公式得到1月
=DATEDIF(B5,C5,"md") 表示除去月份也除去年份看天数,比如10年零1个月2天,使用这个公式得到2天
=DATEDIF(B5,C5,"yd") 表示除去年份后总共多少天,比如10年零1个月2天,使用这个公式得到33天
对于datedif(),实际应用跟Excel不一样,假如开始日期是9月10号,结束日期应该是9月9号,才算是一个整日期。 若是结束日期为9月10号,那就比整的日期多一天了。但是Excel就认为9月10号才算一个整日期。因此我们在实际应用时, 天数要加1才算Excel的日期
例12: 入职日期: 2001/9/10(B13) 离职日期: 2008/7/5 (C13) 间隔多少年多少月多少日:
=DATEDIF(B13,C13,"Y")&"年"&DATEIF(B13,C13,"ym")&"月"&DATEIF(B13,C13,"md")&"日"
这个datedif里的 " dif " 可以认为是different的缩写。
5. weeknum()
语法: weeknum(计算的日期,从星期几开始) 表示计算某个日期是第几周
数字1:表示星期从星期日开始。星期内的天数从 1 到 7 记数
数字2:表示星期从星期一开始。星期内的天数从 1 到 7 记数 常用
数字3:表示星期从星期一开始。星期内的天数从 0 到 6 记数
数字4:表示星期从星期三开始。星期内的天数从 1 到 7 记数
数字5:表示星期从星期四开始。星期内的天数从 1 到 7 记数
例13: 计算 2012/3/10(B2) 是第几周: =weeknum(B2,2)
2003版的Excel里不能直接使用这个函数,要这样做一下再用:
工具--加载宏--Analysis ToolPak(分析工具库)--确定
6. weekday()
weekday(要求的日期,每个星期从第几天开始) 表示求返回某日期的星期数,值为1(星期日)~7(星期六)之间的一个整数
返回值类型:
- 1或省略:则1~7表示星期天到星期六
- 2:则1~7表示星期一到星期天
- 3:则0~6代表星期一到星期天
例13: 计算 2012/3/10(B2) 是第几天: =weekday(B2,2)
例13: 计算 2012/3/10(B2) 是第几周第几天: ="第"&weeknum(B2,2)&"周"&"第"&weekday(B2,2)&“”天“”
可以自定义显示内容的格式:右键单元格--单元格格式--数值--自定义--“aaaa” 这样设置后,真实值还是日期,只是显示方式为 星期几的方式
7. DAY360() 按照一年360天返回两个日期相差的天数。语法:
DAY360(start_date,end_date)
start_date和end_date表示计算相差天数的起止日期
8.
NOW() 返回当前日期和时间对应的序号,没有参数
Today() 返回当前日期的序列号,序列号是日期和时间计算使用的日期-时间代码
如:=now() 显示2019\11\21 11:21 =today() 显示:2019\11\21