史上最全DATEDIF函数应用教程 - 图1

    史上最全DATEDIF函数应用教程 - 图2

    工作中经常会遇到涉及日期计算的问题,比如计算两个日期之间的天数、月数、年数。

    处理这类问题要使用到的一个高频函数就是 DATEDIF。

    由于这是 Excel 中的一个隐藏函数,Excel 的函数列表里是找不到她的,连帮助文件中也没有相关说明。

    为了让大家认识 DATEDIF 函数那些不为人知的强大功能,本文贴合办公实际场景,整理了多种 DATEDIF 函数的应用方法。

    除了原理和基础性讲解外,还提供了使用场景介绍,帮助读者加深理解,便于在自己的实际工作中直接借鉴和使用。

    适用对象:本文面向的读者包括所有需要用到查找引用数据的用户,无论是初入职场的应届毕生生,还是在职场拼杀多年的白领精英,都将从本文找到值得学习的内容。

    软件版本:本文的写作环境是 Window10 家庭版操作系统上的简体中文版 Excel 2013。

    本文绝大多数内容也适用于 Excel 的早期版本(2010、2007 和 2003),或者英文版和繁体中文版,所以读者大不必因自用版本不同而过多担心。

    本文学习要点(强烈推荐收藏本教程)

    1、DATEDIF 函数语法解析及基础用法

    2、DATEDIF 函数根据身份证号计算年龄

    3、DATEDIF 函数根据入职日期计算工龄(精确到几年几月几天)

    4、DATEDIF 函数根据入职日期计算工龄工资

    5、DATEDIF 函数实现生日提醒

    6、DATEDIF 函数自定义规则计算服役年数

    01**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函数应用教程 - 图3

    两日期相差天数

    \=DATEDIF(A2,B2,”d”)

    两日期相差月数

    \=DATEDIF(A2,B2,”m”)

    两日期相差年数

    \=DATEDIF(A2,B2,”y”)

    忽略月和年,两日期相差天数

    \=DATEDIF(A2,B2,”md”)

    忽略日和年,两日期相差月数

    \=DATEDIF(A2,B2,”ym”)

    忽略年,两日期相差天数

    \=DATEDIF(A2,B2,”yd”)

    02**DATEDIF 函数根据身份证号计算年龄 **

    大家都知道,身份证号码里信息量很大的,比如可以从身份证号算出来年龄。

    那么如果要从大量的身份证号码中提取年龄,如何批量搞定呢?

    下面结合一个案例来具体介绍:

    史上最全DATEDIF函数应用教程 - 图4

    C2 单元格输入以下公式:

    \=DATEDIF(—TEXT(MID(B2,7,8),”0-00-00”),NOW(),”y”)

    03**DATEDIF 函数根据入职日期计算工龄 **

    工作中经常要计算两个日期之间的间隔时间,DATEDIF 函数就是处理这类问题要使用到的一个高频函数,虽然在 Excel 中的函数列表中找不到这个函数,甚至帮助文件中也没有相关说明。

    但是 DATEDIF 函数是一个功能十分强大的日期函数,在工作中的应用非常广泛,用于计算两个日期之间的天数、月数或年数。

    下面结合一个实际案例,介绍 DATEDIF 函数根据入职日期计算工龄(精确到几年几月几天)的方法。

    史上最全DATEDIF函数应用教程 - 图5

    上图所示表格中包含员工的入职日期和要计算工龄的截止日期,黄色区域输入公式进行计算。

    D2 单元格输入以下公式:

    \=TEXT(SUM(DATEDIF(B2,C2,{“y”,”ym”,”md”})*10^{4,2,0}),”0 年 00 月 00 天”)

    04**DATEDIF 函数根据入职日期计算工龄工资 **

    很多企业都有工龄工资,即根据员工服务的年数计算对应的工龄工资。

    下面结合一个实际案例,来介绍计算工龄工资的方法。

    史上最全DATEDIF函数应用教程 - 图6

    表格中包含员工的入职日期和计算工龄的截止日期,黄色区域需要写公式进行工龄工资的计算。

    计算工龄工资的规则有两条:

    1、 员工每满一年,加 50 元工龄工资

    2、 员工的工龄工资上限是 20 年,超出 20 年以后也按 20 年计算。

    在 D2 单元格输入以下公式:

    \=50*MIN(20,DATEDIF(B2,C2,”y”))

    05**DATEDIF 函数实现生日提醒 **

    DATEDIF 函数不但可以直接统计出两个日期间隔的年数、月数、天数,而且还有很多延伸应用,比如实现生日提醒功能。

    史上最全DATEDIF函数应用教程 - 图7

    上图案例中,要 Excel 实现根据员工的出生日期,在 10 天内实现生日提醒。

    C2 单元格输入以下公式:

    \=TEXT(10-DATEDIF(B2,NOW()+10,”yd”),”0 天后生日;; 今日生日”)

    06**DATEDIF 函数自定义规则计算服役年数 **

    DATEDIF 函数配合其它函数,还可以实现比较复杂的计算。

    史上最全DATEDIF函数应用教程 - 图8

    表格中包括员工的服役日期、和计算日期,要计算服役年数,要求结果准备到 0.5 年。

    规则:

    1、 零头不足整年的,满 6 个月算 1 年

    2、 1 天至 6 个月算 0.5 年

    D2 单元格输入以下公式:

    \=CEILING(DATEDIF(EDATE(B2,-1)+1,C2,”m”)/12,0.5)

    欢迎朋友们分享办公技巧

    投稿、提问邮箱:wordjqdr@126.com

    史上最全DATEDIF函数应用教程 - 图9

    史上最全DATEDIF函数应用教程 - 图10
    https://mp.weixin.qq.com/s?__biz=MzI1NzAwNzYxNQ==&mid=2647705445&idx=2&sn=e9aaeacd58e4c55a81690ca1674c47c2&chksm=f23a6df5c54de4e303477c1a7181e10791d21f7f93105d5869a187a0e33d464e1a4182f9dbf1&mpshare=1&scene=1&srcid=0208OpWWzBzhKR9g1YdCivbM&sharer_sharetime=1612770848196&sharer_shareid=f07c4a475fb991880bddec386bfa6133&exportkey=AZMCVNzgFYxTDsbZY%2BYM6vc%3D&pass_ticket=PtIdHFn9LQ4BzvzONzR%2FVZyTdErn81WxAWgA68UbcskwfxZI7TKcSuXQwpzvwC85&wx_header=0#rd