Excel中最具价值的日期函数,非她莫属!
点击上方↑蓝字 免费关注
置顶公众号或设为星标,否则可能收不到文章
个人微信号 | (ID:LiRuiExcel520)
微信服务号 | 跟李锐学Excel(ID:LiRuiExcel)
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
本文关键字:datedif
工作中经常会遇到涉及日期计算的问题,比如计算两个日期之间的天数、月数、年数。处理这类问题时都需要用到Excel日期函数。
大家熟知的YEAR、MONTH等日期函数无法搞定这类日期间隔的计算,这时需要用到Excel中一个极具价值的日期函数,同时她也是Excel中的隐藏函数,你在微软提供的的函数列表里是找不到她的,连帮助文件中也没有相关说明,她就是DATEDIF。
为了让大家认识DATEDIF函数那些不为人知的强大功能,本文贴合办公实际场景,整理了多种DATEDIF函数的应用方法。
本教程内容较多,担心记不全的话,可以分享到朋友圈给自己备份一份。
除了本文内容,还想全面、系统、快速提升Excel技能,少走弯路的同学,请搜索微信公众号“LiRuiExcel”点击底部菜单,或下方二维码进知识店铺。
更多不同内容、不同方向的Excel视频课程
获取
(长按识别二维码)
一、DATEDIF函数语法解析及基础用法
DATEDIF函数是一个Excel中的隐藏函数,虽然在Excel中的函数列表中找不到这个函数,甚至帮助文件中也没有相关说明,但是DATEDIF函数是一个功能十分强大的日期函数,在工作中的应用非常广泛,用于计算两个日期之间的天数、月数或年数。
其基本语法为:
DATEDIF(start_date,end_date,unit)
start_date:必需。代表时间段内的起始日期,可以是带引号的日期文本字符串,比如“2016-8-8”,也可以是日期序列值、其他公式或者函数返回的运算结果,比如DATE(2016,8,8)等等。
end_date:必需。代表时间段内的结束日期,结束日期要大于起始日期,否则将返回错误值#NUM!。
unit:必需。代表日期信息的返回类型,该参数不区分大小写,不同的unit参数对应返回的结果如下表所示。
Unit参数 |
DATEDIF函数返回结果 |
Y |
日期时间段中的整年数 |
M |
日期时间段中的整月数 |
D |
日期时间段中的天数 |
MD |
日期时间段中天数的差。忽略日期中的月和年 |
YM |
日期时间段中月数的差。忽略日期中的日和年 |
YD |
日期时间段中天数的差。忽略日期中的年 |
结合下面的案例,介绍一下DATEDIF函数的前三种基础用法:
两日期相差天数
=DATEDIF(A2,B2,"d")
两日期相差月数
=DATEDIF(A2,B2,"m")
两日期相差年数
=DATEDIF(A2,B2,"y")
忽略月和年,两日期相差天数
=DATEDIF(A2,B2,"md")
忽略日和年,两日期相差月数
=DATEDIF(A2,B2,"ym")
忽略年,两日期相差天数
=DATEDIF(A2,B2,"yd")
二、DATEDIF函数根据身份证号计算年龄
大家都知道,身份证号码里信息量很大的,比如可以从身份证号算出来年龄。
那么如果要从大量的身份证号码中提取年龄,如何批量搞定呢?
下面结合一个案例来具体介绍:
C2单元格输入以下公式:
=DATEDIF(--TEXT(MID(B2,7,8),"0-00-00"),NOW(),"y")
三、DATEDIF函数根据入职日期计算工龄
工作中经常要计算两个日期之间的间隔时间,DATEDIF函数就是处理这类问题要使用到的一个高频函数,虽然在Excel中的函数列表中找不到这个函数,甚至帮助文件中也没有相关说明。
但是DATEDIF函数是一个功能十分强大的日期函数,在工作中的应用非常广泛,用于计算两个日期之间的天数、月数或年数。
下面结合一个实际案例,介绍DATEDIF函数根据入职日期计算工龄(精确到几年几月几天)的方法。
上图所示表格中包含员工的入职日期和要计算工龄的截止日期,黄色区域输入公式进行计算。
D2单元格输入以下公式:
=TEXT(SUM(DATEDIF(B2,C2,{"y","ym","md"})*10^{4,2,0}),"0年00月00天")
四、DATEDIF函数根据入职日期计算工龄工资
很多企业都有工龄工资,即根据员工服务的年数计算对应的工龄工资。
下面结合一个实际案例,来介绍计算工龄工资的方法。
表格中包含员工的入职日期和计算工龄的截止日期,黄色区域需要写公式进行工龄工资的计算。
计算工龄工资的规则有两条:
1、 员工每满一年,加50元工龄工资
2、 员工的工龄工资上限是20年,超出20年以后也按20年计算。
在D2单元格输入以下公式:
=50*MIN(20,DATEDIF(B2,C2,"y"))
五、DATEDIF函数实现生日提醒
DATEDIF函数不但可以直接统计出两个日期间隔的年数、月数、天数,而且还有很多延伸应用,比如实现生日提醒功能。
上图案例中,要Excel实现根据员工的出生日期,在10天内实现生日提醒。
C2单元格输入以下公式:
=TEXT(10-DATEDIF(B2,NOW()+10,"yd"),"0天后生日;;今日生日")
六、DATEDIF函数自定义规则计算服役年数
DATEDIF函数配合其它函数,还可以实现比较复杂的计算。
表格中包括员工的服役日期、和计算日期,要计算服役年数,要求结果准备到0.5年。
规则:
1、 零头不足整年的,满6个月算1年
2、 1天至6个月算0.5年
D2单元格输入以下公式:
=CEILING(DATEDIF(EDATE(B2,-1)+1,C2,"m")/12,0.5)
关于DATEDIF函数的介绍先写到这里,更多精彩的Excel实战技术还有很多,Excel函数公式方面的各种技术,我已经花18个月的时间整理到Excel特训营中超清视频讲解,并提供配套的课件方便同学们操作和练习。
函数初级班是二期特训营,函数进阶班是八期特训营,函数中级班是九期特训营,从入门到高级技术都有超清视频精讲,请从微信公众号“LiRuiExcel”进底部菜单的“知识店铺”查看
希望这篇文章能帮到你!
老学员随时复学小贴士
由于有的老学员是4年前购买的课程,因买过的课程较多或因时间久忘记从哪里听课,所以专门将各平台的已购课程入口统一整理至下图。
1、搜索微信公众号“LiRuiExcel”点击底部菜单“已购课程”,即可查看到你在各平台的已购课程,方便大家找到并随时复学课程。
2、课程分销推广的奖金也是由此公众号转账至大家的微信钱包(关注后可自动收钱,进入你的微信零钱,在微信支付有转账记录),老学员可以进“知识店铺”点击底部按钮“推广赚钱”或者“我的”-“推广中心”查询到推广奖励明细记录,支持主动提现。
此外,里面还有小助手的联系方式,有问题或学习需求可以留言反馈,助手在24小时内回给到回复。
按上图↑识别二维码,查看详情
请把这个公众号推荐给你的朋友:)
>>推荐阅读 <<
(点击蓝字可直接跳转)
最有用最常用最实用10种Excel查询通用公式,看完已经赢了一半人
长按识别二维码↓进知识店铺
(长按识别二维码)
今天就先到这里吧,更多干货文章加下方小助手查看。
如果你喜欢这篇文章
欢迎点个在看,分享转发到朋友圈
▼
↓↓↓点击“阅读原文”进知识店铺
全面、专业、系统提升Excel实战技能