Excel日期计算函数完全指南:DATE、DATEDIF和DATEVALUE详解
Excel日期计算函数完全指南:DATE、DATEDIF和DATEVALUE详解
在Excel中处理日期计算时,DATE、DATEDIF和DATEVALUE是三个非常实用的函数。本文将通过一个员工入职时间计算工龄的案例,详细讲解这三个函数的使用方法和应用场景。
案例数据
下表列出了部分员工的入职时间和工资信息:
姓名 | 入职时间 | 工资 | 以及不足一年的工龄 ( 月 ) | 工资 (保留一位小数) |
---|---|---|---|---|
李楠 | 2003年1月23日 | 18663.94 | ||
方鹏 | 2000年6月24日 | 6284.27 | ||
李磊 | 1999年7月23日 | 10712.28 | ||
王小若 | 2001年12月26日 | 7512.07 | ||
陈雨 | 1993年4月20日 | 9441.99 | ||
石璐 | 1995年8月28日 | 17487.94 | ||
张瑛 | 2005年9月9日 | 14093.13 | ||
程晓 | 1997年3月30日 | 16524.03 | ||
王丽 | 2000年5月31日 | 10183.98 | ||
赵军力 | 1990年2月1日 | 16376.06 | ||
王明 | 1989年8月2日 | 13592.73 | ||
李丽 | 2000年2月12日 | 12141.99 | ||
张帆 | 1994年9月4日 | 20616.49 | ||
张珊珊 | 2001年2月24日 | 9683.57 | ||
刘丽丽 | 1989年2月6日 | 13382.94 | ||
石节庆 | 2002年2月24日 | 7236.95 | ||
路瑶 | 2004年2月16日 | 11975.04 | ||
李贵明 | 1991年7月9日 | 13857.49 | ||
张军 | 2006年2月17日 | 12828.58 | ||
王朔 | 2003年10月11日 | 15913.90 | ||
曾云 | 2003年4月12日 | 8977.54 | ||
薛晶 | 2006年2月13日 | 9413.95 | ||
于伟 | 2006年4月14日 | 20551.35 | ||
王小若 | 2005年8月15日 | 20595.59 |
DATE函数
DATE函数用于返回代表特定日期的序列号。如果在输入函数前,单元格格式为“常规”,则结果将设为日期格式。
语法
DATE(year,month,day)
Year 参数 year 可以为一到四位数字。
如果 year 位于 0(零)到 1899(包含)之间,则 WPS表格 会将该值加上 1900,再计算年份。
例如:DATE(108,1,2) 将返回 2008 年 1 月 2 日 (1900+108)。
如果 year 位于 1900 到 9999(包含)之间,则 WPS表格 将使用该数值作为年份。
例如:DATE(2008,1,2) 将返回 2008 年 1 月 2 日。
如果 year 小于 0 或大于等于 10000,则 WPS表格 将返回错误值 #NUM!。
Month 代表每年中月份的数字。
如果所输入的月份大于 12,将从指定年份的一月份开始往上加算。
例如:DATE(2008,14,2) 返回代表 2009 年 2 月 2 日的序列号。
Day 代表在该月份中第几天的数字。
如果 day 大于该月份的最大天数,则将从指定月份的第一天开始往上累加。
例如,DATE(2008,1,35) 返回代表 2008 年 2 月 4 日的序列号。
DATEDIF函数
DATEDIF函数主要用于计算两个日期之间的天数、月数或年数。其返回的值是两个日期之间的年/月/日间隔数。
语法 :
DATEDIF(Start_Date,End_Date,Unit)
- Start_Date: 为一个日期,它代表时间段内的第一个日期或起始日期;
- End_Date: 为一个日期,它代表时间段内的最后一个日期或结束日期;
- Unit: 为所需信息的返回类型。
信息类型参数 :
- Y:返回两个日期之间的完整年数。
- M:返回两个日期之间的完整月数。
- D:返回两个日期之间的天数。
- YM:忽略年份,返回两个日期之间的月份数。
- YD:忽略年份,返回两个日期之间的天数。
- MD:忽略年份和月份,返回两个日期之间的天数。
DATEVALUE函数
DATEVALUE函数用于返回 date_text 所表示的日期的序列号。函数 DATEVALUE 的主要功能是将以文本表示的日期转换成一个序列号。
语法
DATEVALUE(date_text)
- Date_text:代表以WPS表格日期格式表示的日期的文本。
- 例如,2008-1-30 或 30-Jan-08 就是带引号的文本,它用于代表日期。
- 在使用WPS表格时,date_text 必须表示1899年12月31日到9999年12月31日之间的一个日期。
- 如果 date_text 超出范围,则函数 DATEVALUE 返回错误值 #VALUE!。
- 如果省略 date_text 中的年份部分,则函数 DATEVALUE 使用计算机系统内部时钟的当前年份。
- date_text 中的时间信息将被忽略。
说明
- WPS表格可将日期存储为可用于计算的序列号。默认情况下,1899 年12月31日的序列号是 1 而2008年1月1日的序列号是 39448,这是因为它距1899年12月31日有 39448 天。
- 大部分函数都会自动将日期值转换成序列号。
实例结果
通过应用上述函数,我们可以计算出每位员工的工龄时长(月)和工龄时长(年),并保留工资的小数位数。
姓名 | 入职时间 | 工资 | 工龄时长(月) | 工龄时长(年) | 工资(保留一位小数) |
---|---|---|---|---|---|
李楠 | 2003年1月23日 | 18663.94 | 258 | 21 | 18663.9 |
方鹏 | 2000年6月24日 | 6284.27 | 289 | 24 | 6284.3 |
李磊 | 1999年7月23日 | 10712.28 | 300 | 25 | 10712.3 |
王小若 | 2001年12月26日 | 7512.07 | 271 | 22 | 7512.1 |
陈雨 | 1993年4月20日 | 9441.99 | 375 | 31 | 9442 |
石璐 | 1995年8月28日 | 17487.94 | 347 | 28 | 17487.9 |
张瑛 | 2005年9月9日 | 14093.13 | 226 | 18 | 14093.1 |
程晓 | 1997年3月30日 | 16524.03 | 328 | 27 | 16524 |
王丽 | 2000年5月31日 | 10183.98 | 289 | 24 | 10184 |
赵军力 | 1990年2月1日 | 16376.06 | 413 | 34 | 16376.1 |
王明 | 1989年8月2日 | 13592.73 | 419 | 34 | 13592.7 |
李丽 | 2000年2月12日 | 12141.99 | 293 | 24 | 12142 |
张帆 | 1994年9月4日 | 20616.49 | 358 | 29 | 20616.5 |
张珊珊 | 2001年2月24日 | 9683.57 | 281 | 23 | 9683.6 |
刘丽丽 | 1989年2月6日 | 13382.94 | 425 | 35 | 13382.9 |
石节庆 | 2002年2月24日 | 7236.95 | 269 | 22 | 7237 |
路瑶 | 2004年2月16日 | 11975.04 | 245 | 20 | 11975 |
李贵明 | 1991年7月9日 | 13857.49 | 396 | 33 | 13857.5 |
张军 | 2006年2月17日 | 12828.58 | 221 | 18 | 12828.6 |
王朔 | 2003年10月11日 | 15913.90 | 249 | 20 | 15913.9 |
曾云 | 2003年4月12日 | 8977.54 | 255 | 21 | 8977.5 |
薛晶 | 2006年2月13日 | 9413.95 | 221 | 18 | 9414 |
于伟 | 2006年4月14日 | 20551.35 | 219 | 18 | 20551.4 |
王小若 | 2005年8月15日 | 20595.59 | 227 | 18 | 20595.6 |
公式: | =DATEDIF(B25,TODAY(),"m") | =DATEDIF(B25,TODAY(),"y") | =ROUND(C25,1) |
注意字符串时间格式的使用。