Excel函数学习之DATEDIF()的使用方法

wufei123 2024-05-24 阅读:10 评论:0
本篇文章带大家认识datedif函数!datedif函数不仅可以用来计算年龄、工龄、工龄工资、项目周期,还可以用来做生日倒计时提醒,项目竣工日倒计时提醒等等。用上它,您再也不会缺席那些重要的日子,不论是亲人生日、项目竣工日,还是儿女的毕业典...

本篇文章带大家认识datedif函数!datedif函数不仅可以用来计算年龄、工龄、工龄工资、项目周期,还可以用来做生日倒计时提醒,项目竣工日倒计时提醒等等。用上它,您再也不会缺席那些重要的日子,不论是亲人生日、项目竣工日,还是儿女的毕业典礼日。

Excel函数学习之DATEDIF()的使用方法

DATEDIF函数和我们平时见到的函数有所不同。大家都知道,一般我们只要在EXCEL中输入函数字母的前几位,EXCEL就会自动弹出该函数,然而这个函数字母都输完了,EXCEL仍没有任何提示。有的小伙伴可能都会怀疑是否有这个函数。其实DATEDIF函数是EXCEL隐藏函数,在帮助和插入公式里面是没有的,只能纯手工输入。

Excel函数学习之DATEDIF()的使用方法非隐藏函数输入有提示

 Excel函数学习之DATEDIF()的使用方法隐藏函数输入无提示 

DATEDIF函数不仅可以用来计算年龄、工龄、工龄工资、项目周期,还可以用来做生日倒计时提醒,项目竣工日倒计时提醒等等。下面我们就来认识认识它。

一、初识DATEDIF

DATEDIF函数用于计算两日期之差,返回两个日期之间的年、月、日间隔数

函数结构:DATEDIF(起始日期,结束日期,返回类型)

1.参数解释

1)起始日期和结束日期

起始日期、结束日期作为需要计算差异的两个日期。

这两个日期的输入方法如下:

①可以直接输入带引号的日期,例如"2017/10/16"。注意起始日期不能早于1900年,结束日期要大于起始日期。

Excel函数学习之DATEDIF()的使用方法

②也可以直接引用单元格中的日期

Excel函数学习之DATEDIF()的使用方法

③还可以利用其他函数得到,例如TODAY() (注意:范例当日是2019年2月15日)

Excel函数学习之DATEDIF()的使用方法

2)返回类型

返回类型用于设置结算结果的类型。返回类型是文本,输入时须要带双引号。

y:返回两个日期之间相差整年数(不足一年的不计)

m:返回两个日期之间相差整月数(不足一月的不计)

d:返回两个日期之间相差的天数

ym:计算两日期之间略去整年差异后的整月数差异。譬如,两个日期(2017-4-20,2019-2-20)相差1年10月,略去整年差异1年,则ym的结果就是10月。再譬如,两个日期(2018-4-20,2019-2-20)相差10月,则ym的结果是10月。

yd:计算两日期之间略去整年差异后的天数差异。譬如,两个日期(2017-4-20,2019-2-20)相差1年零306天,略去整年差异1年,则ym的结果就是306天。

md:计算两日期之间略去整年和整月差异后的天数差异。譬如,两个日期(2017-4-20,2019-2-25)相差1年10月零5天,略去整年和整月差异1年10月,则md的结果就是5天。

2.小栗子

举个栗子Excel函数学习之DATEDIF()的使用方法Excel函数学习之DATEDIF()的使用方法Excel函数学习之DATEDIF()的使用方法

DATEDIF("2017/2/15","2019/2/15","y"),计算"2017/2/15"与"2019/2/15"之间相差几个整年。这里相差两个完整的年,所以等于2。

Excel函数学习之DATEDIF()的使用方法

DATEDIF("2017/1/6","2019/2/15","d"),计算"2017/1/6"与"2019/2/15"之间相差的天数,等于770。

Excel函数学习之DATEDIF()的使用方法

DATEDIF("2017/1/6","2019/2/15","ym"),计算两日期之间除开整年外的间隔月数。两日期之间实际相差25月,包含了2个整年(24月),所以ym类型返回值为25-24=1。

Excel函数学习之DATEDIF()的使用方法

DATEDIF("2017/1/6","2019/2/15","yd"),计算两日期之间除开整年外的间隔天数。两日期之间实际相差770天,包含了2个整年(730天),所以yd类型返回值为770-730=40。

Excel函数学习之DATEDIF()的使用方法

3.使用要点

1)双引号

到这里,相信小伙伴们对于DATEDIF函数已经有了初步的认识,可以写几个公式练练手啦。写公式中需注意双引号的使用。

(1)如果第1、2参数是直接输入日期,则日期必须带双引号。

(2)第3参数是文本,一定要记得带上双引号。

2)错误类型

DATEDIF函数如果发生错误,通常有以下三类:

错误代码

错误原因

#NUM!

①函数第三参数返回类型输入值有误 

②第一参数比第二参数大

#VALUE!

开始或结束日期所引用的单元格格式不是日期格式

#NAME?

①函数输入有误 

②文本类型的数据没带双引号

二、DATEDIF函数实际应用例举 1.根据出生日期计算年龄

已知下面员工的出生日期,求他们今年的年龄。

Excel函数学习之DATEDIF()的使用方法

不准偷看答案哦~

Excel函数学习之DATEDIF()的使用方法

公式:=DATEDIF(D2,TODAY(),"y")

Excel函数学习之DATEDIF()的使用方法

TODAY()函数获取的是系统当前日期,列举的实例为2019/2/15日的计算结果,并不一定和小伙伴们得到的结果相符哦~

怎么样?是不是很简单呢?

Excel函数学习之DATEDIF()的使用方法

2.根据身份证号码计算年龄

上一例中已经有了出生日期,所以直接用DATEDIF函数套用TODAY函数即可计算出年龄。如果只有身份证号码,要计算年龄,就需要把出生日期从身份证号码中提取出来后再计算。公式如下:

Excel函数学习之DATEDIF()的使用方法

           ①         ②        ③

Excel函数学习之DATEDIF()的使用方法

公式解析:

①使用MID函数提取出身份证号码中出生日期的8位数字。

Excel函数学习之DATEDIF()的使用方法

②用TEXT函数让这8位数字以"0-00-00"的格式显示,得到像日期格式的文本,然后在TEXT函数前加上负负得正的运算,将文本转换为日期。

Excel函数学习之DATEDIF()的使用方法

③最后将上面得到的日期作为DATEDIF函数的起始日期,将TODAY()作为结束日期,设置返回类型为“y”,即可计算出两日期之间相差的整年数——年龄。

3.根据入职日期计算员工工龄(以年月日的形式展现)

用例1计算年龄的方法,如果知道员工入职的时间,即可计算出按整年计的员工工龄。但如果需要计算出详细的员工工龄,如多少年多少月多少天,该怎么做呢?答案如下:

Excel函数学习之DATEDIF()的使用方法

Excel函数学习之DATEDIF()的使用方法

公式虽长,却特别好理解。首先用三个DATEDIF函数分别计算出两日期之间相差几年几月几日,最后再用文本连接符“&”进行连接,得到结果。

4.计算工龄工资

根据2019年国家出台的工龄工资规定,员工连续工作满一年 50元/月;连续工作满两年 100元/月;连续工作满三年 150元/月;连续工作满四年180元/月,以此类推,累计十年封顶。

小伙伴是不是一头雾水呢?没事,我们一步一步来,首先计算工龄(按整年计算)。

公式:=DATEDIF(C2,D2,"y")

Excel函数学习之DATEDIF()的使用方法

接着,来到我们的重头戏,计算工龄工资。

Excel函数学习之DATEDIF()的使用方法

这里我们借助了IF函数和MIN函数。

根据2019年国家出台的工龄工资规定,1-3年工龄工资每年是以50来递增的,4-10年的工龄工资每年是以30来递增的。我们可以使用IF函数分开判断。

首先判断工龄E2是否小于4,小于4则表示员工工龄工资是以每年50来递增,返回“Excel函数学习之DATEDIF()的使用方法”的结果;如果工龄E2不小于4,工龄工资则是在150的基础上以每年30来递增,返回“Excel函数学习之DATEDIF()的使用方法”的结果。

因为工龄工资只能累计十年,大于十年的工龄工资与十年的工龄工资一致,所有我们使用MIN函数返回10和E2中的最小值作为工龄。

5.制作员工生日提醒

下面是一张员工的信息表,我们想做一个生日提醒,提前7天提醒某员工的生日快到了。

Excel函数学习之DATEDIF()的使用方法

提示:和IF函数结合使用,快开动脑筋想一想吧~

Excel函数学习之DATEDIF()的使用方法

 

Excel函数学习之DATEDIF()的使用方法

                 ①                ②     ③

Excel函数学习之DATEDIF()的使用方法

是不是感觉这个公式很烧脑?

我们日常计算距离生日的天数都是用即将到来的生日日期减去今天的日期。而这个公式与我们的习惯不同,它用今天的日期减去出生日期进行计算,并且还将出生日期减少了7天。

为何能这样做?

首先我们来看看yd返回类型下不同的当前日期与出生日期的间隔天数规律。下表以出生日期1999年2月22日为例,展示了昨天、今天、明天、后天等距离出生日期的天数。

Excel函数学习之DATEDIF()的使用方法

N16单元格公式= DATEDIF($J$13,N15,"yd"),$J$13代表出生日期,N15代表不同的当前日期。

很明显,生日当天间隔为0;小于生日日期的,日期越趋近生日,间隔天数越大越趋近365;大于生日日期的,日期越趋近生日,间隔天数越小越趋近0。

其次,在这种情况下,直接套用IF函数根据间隔天数是否小于等于7来给出生日提醒的公式=IF(DATEDIF($J$13,N15,"yd")快过生日啦","")无法实现提前7天提醒。相反,它只能实现生日当天和生日后7天的提醒,如下:

Excel函数学习之DATEDIF()的使用方法

最后,那怎么才能提前7天提醒?有两种方法。第一种,设法让间隔天数0-7提前7天出现。这时,要么把起始日期减少7天($J$13-7),要么把结束日期增加7天(N15+7),如下:

Excel函数学习之DATEDIF()的使用方法

起始日期减少7天后的间隔天数

Excel函数学习之DATEDIF()的使用方法

起始日期减少7天后的生日提醒

第二种,修改判断条件,把修改为>=358即可。如下:

Excel函数学习之DATEDIF()的使用方法

  修改判断条件后,生日当天不会提醒。

      Ok,到这里,相信大家就理解前面的公式了。在此基础上,我们可以修改公式,让提醒更人性化:

=IF(DATEDIF(D3-7,TODAY(),"yd")还有"&7-DATEDIF(D3-7,TODAY(),"yd")&"天过生日啦","")

Excel函数学习之DATEDIF()的使用方法

再多说两句:如果按平常思路用即将到来的生日日期减去当前日期来计算距离生日的天数,生日提醒公式该怎么写呢?答案如下:

=IF(DATEDIF(TODAY(),IF(TEXT(D3,"M月DD日")月DD日"),YEAR(TODAY()+365),YEAR(TODAY()))&"年"&TEXT(D3,"M月DD日"),"yd")快过生日啦","")(today(),"m

Excel函数学习之DATEDIF()的使用方法

这是一个非常长的公式!!!

长就长在即将到来的生日日期提取。

公式中的IF(TEXT(D3,"M月DD日")月DD日"),YEAR(TODAY()+365),YEAR(TODAY()))&"年"&TEXT(D3,"M月DD日")用于获取即将到来的生日日期。意思是:如果出生日期中的月日数小于今日的月日数,说明今年的生日已经过去了,新的生日日期应该是YEAR(TODAY()+365)&"年"&TEXT(D3,"M月DD日";反之,说明今年的生日还没过,生日日期应该是YEAR(TODAY())&"年"&TEXT(D3,"M月DD日"。(today(),"m

YEAR(TODAY())提取今年的年份,加上365,则得到明年的年份。

TEXT(D3,"m月dd日")提取出生日期中的月份和号数。

到此,DATEDIF函数就介绍完毕。不论是计算年龄、工龄、工龄工资,还是给出生日提醒,都可以用DATEDIF实现。当然,DATEDIF也完全可以用来计算项目用时、距离完工日天数,做完工倒计时提醒。如果你是做人事、做工资核算、做项目管理的,那么赶紧操练起来吧!

相关学习推荐:excel教程

以上就是Excel函数学习之DATEDIF()的使用方法的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • python怎么调用其他文件函数

    python怎么调用其他文件函数
    在 python 中调用其他文件中的函数,有两种方式:1. 使用 import 语句导入模块,然后调用 [模块名].[函数名]();2. 使用 from ... import 语句从模块导入特定函数,然后调用 [函数名]()。 如何在 Python 中调用其他文件中的函数 在 Python 中,您可以通过以下两种方式调用其他文件中的函数: 1. 使用 import 语句 优点:简单且易于使用。 缺点:会将整个模块导入到当前作用域中,可能会导致命名空间混乱。 步骤:...
  • Nginx服务器的HTTP/2协议支持和性能提升技巧介绍

    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍
    Nginx服务器的HTTP/2协议支持和性能提升技巧介绍 引言:随着互联网的快速发展,人们对网站速度的要求越来越高。为了提供更快的网站响应速度和更好的用户体验,Nginx服务器的HTTP/2协议支持和性能提升技巧变得至关重要。本文将介绍如何配置Nginx服务器以支持HTTP/2协议,并提供一些性能提升的技巧。 一、HTTP/2协议简介:HTTP/2协议是HTTP协议的下一代标准,它在传输层使用二进制格式进行数据传输,相比之前的HTTP1.x协议,HTTP/2协议具有更低的延...