备注:该博客内容根据技术教学视频整理与总结而成,教学视频来自于office教程-龙龙老师的Excel2019视频教程合集(81节)。
一、日期和时间的基础知识
有效日期 | 1900/1/1 | 9999/12/31 |
对应常规数字 | 1 | 2958466 |
时间 | 16:05:09 | 0:00:00 |
对应数字 | 0.670243056 | 0 |
注:日期对应整数,时间对应小数 |
日期时间 | 天 | 小时 | 分 | 秒 |
数值 | 1 | 24 | 1440 | 86400 |
常用快捷键 | 常规 | Ctrl+Shift+~ |
时间 | Ctrl+Shift+@ | |
当前时间 | Ctrl+Shift+; | |
日期 | Ctrl+Shift+# | |
当前日期 | Ctrl+; |
二、年YEAR、月MONTH、日DAY、日期DATE函数
- YEAR(serial_number)
- MONTH(serial_number)
- DAY(serial_number)
注:日期有多种输入方式:带引号的文本串(比如:1998/01/30)、系列数(比如:使用1900日期系统则35825表示1998年1月30日)或其他函数公式的结果(比如:DATEVALUE(“1998/1/30") - MONTH(serial_number)
注:DATE(2020,2,)返回值为2020/1/31
三、TODAY、NOW函数
- TODAY() 没有参数,返回当前日期
- NOW() 没有参数,返回当前日期和时间
四、隐藏的DATEDIF
语法:DATEDIF(start_date,END_start,unit)
DATEDIF(起始日期,结束日期,返回单位)
注:结束日期必须大于起始日期
举例:DATEDIF(A1,TODAY(),”Y“) #计算年数差
DATEDIF(A1,TODAY(),”M“) #计算月数差
DATEDIF(A1,TODAY(),”D“) #计算天数差
”YM“指两日期中月数的差,忽略日期中的年份(相当同年份月数相减)
“MD”指两日期中天数的差,忽略日期中的年份和月份(相当于同年同月相减)
”YD“指两日期中天数的差,忽略日期中的年份(相当同年日期相减)
五、EOMONTH函数,用于倒计时,调整日期
语法:EOMONTH(start_date,months)
说明:为给定日期,指定向前或向后的月份数字,返回指定月份后的当月的最后一天。months为正值将生成未来日期,为负值将生成过去日期
举例:EOMONTH(2020/2/15,9) 返回值:2020/11/30
六、EDATE函数,以月份推日期
语法:EDATE(start_date,months)
说明:months为正值将生成未来日期,为负值将生成过去日期
举例:EDATE(2020/2/15,9) 返回值:2020/11/15
七、WEEKDAY和TEXT函数
WEEKDAY语法:WEEKDAY(serial_number,return_type)
WEEKDAY(指定日期,确定返回值类型的数字)
说明:return_type为数字1或省略则1至7代表星期天到星期六
数字2则1至7代表星期一到星期天
数字3则0至6代表星期一到星期日
举例:WEEKDAY(”2001/8/28“,2) 返回2(星期二)
WEEKDAY(”2003/02/23",3) 返回6(星期日)
TEXT语法:TEXT(value,format_text)
说明:format_text为 aaaa 显示为中文星期几全称; aaa 显示为中文星期几简称
举例:TEXT(WEEKDAY(D4),“aaaa”) 返回:星期六
八、WEEKNUM函数指定日期为全年第几周
语法:WEEKNUM(serial_number,[return_type])
说明:serial_number应使用DATE函数输入日期,或者将日期作为其他公式或函数结果输入。如果日期以文本形式输入,则会出现问题。
九、WORKDAY函数
语法:WORKDAY(start_date,days,[holidays])
说明:1、days为start_date之前或之后不含周末及节假日的天数
2、days为正值将生成未来日期,为负值将生成过去日期
3、holidays可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量,默认周六日为节假日
十、自定义周末和节假日WORKDAY.INTL函数
语法:WORKDAY.INTL(start_date,days,[weekend],[holidays])
说明:weekend是一个用于指定周末日的周末数字或字符串
星期一为周末则为“1000000”,1代表放假的那一天,以此类推,星期二为周末则为“0100000”
十一、返回日期之间的工作日数NETWORKDAYS函数
语法:NETWORKDAYS(start_date,end_date,[holidays])
说明:默认周六日为放假并计入
十二、自定义周末和节假日,返回日期之间的工作日数NETWORKDAYS.INTL函数
语法:NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays])
NETWORKDAYS.INTL(开始日期,结束日期,指定周末日的周末数字或字符串,自定义节假日)
说明:weekend是一个用于指定周末日的周末数字或字符串
星期一为周末则为“1000000”,1代表放假的那一天,以此类推,星期二为周末则为“0100000”
十三、时分秒时间函数
语法:HOUR(serial_number) #提取小时
MINTUE(serial_number) #提取分钟
SECOND(serial_number)#提取秒
TIME(hour,mintue,second)