DATEDIF,一个神奇的隐藏函数

DATEDIF,一个神奇的隐藏函数

浏览次数:1004次
信息来源: 银河系资源网
更新日期: 2022-08-30
文章简介

Excel中有一类函数叫隐藏函数,你在Excel的函数列表里是找不到它们的身影的,甚至连微软的帮助文件里也没有相关说明,但是它们不但功能强大,而且在工作中应用广泛。DATEDIF就是一个神奇的隐藏函数,它存在于Excel中...

Excel中有一类函数叫隐藏函数,你在Excel的函数列表里是找不到它们的身影的,甚至连微软的帮助文件里也没有相关说明,但是它们不但功能强大,而且在工作中应用广泛。

DATEDIF就是一个神奇的隐藏函数,它存在于Excel中,但是在Excel的帮助文件中却找不到它。

今天我们就来扒一扒这个神奇的隐藏函数。

1、DATEDIF函数详解

DATEDIF的基础语法为:

DATEDIF(开始日期,结束日期,间隔类型)

其中,参数start_date和end_date是两个日期,并且前者一定不能大于后者。

unit有以下6个参数,分别用来计算不同的差异,如下表所示。

DATEDIF的参数

在日常拼写中,有的人会漏写函数名称中间的D,变成DATEIF,这是错误的,而且输写错误时,Excel系统不会提示。

此函数单词有一个简单的记忆方式:DATEDIF缩写于Date Different,译为不同的日期。

2、计算两个日期间的年、月、日间隔

如下图所示,这是DATEDIF的常规用法,这6个参数的实际意义,我们可以结合图中的数据进行讲解。

DATEDIF常规用法

首先,在D16、D24单元格中分别输入以下公式,向下分别复制到D21、D29单元格,以计算出不同参数的差异:

=DATEDIF(E16,F16,C16)

=DATEDIF(E24,F24,C24)

D24单元格,参数“Y”,单看2017年和2020年,相差年数应为3,但是从2017/7/28到2020/2/8,先过2年到2019/7/28,还没到要求的2020/2/8,再过1年的话,就到了2020/7/28,会超过结束日期,所以其结果返回2,不能返回3。

D25单元格,参数“M”,2017/7/28过30个月便到了2020/1/28,然后再过1个月就到了2020/2/28,超过了结束日期2020/2/8,所以结果只能为30,不能为31。要充分体会“整年数”“整月数”中“整”字的意思。

D26单元格,参数“D”,就相当于两个日期直接相减,计算天数的差。

D27单元格,参数“MD”,这个计算忽略月和年,相当于把start_date拉近到end_date 前最接近的日期。也就是说,将2017/7/28拉近到2020/2/8之前日期为28的最接近日期,即2020/1/28,然后计算2020/1/28与2020/2/8之间的天数差,即11天。

D28单元格,参数“YM”,忽略日和年计算整月数,即相当于把2017/7/28拉近到 2020/2/8之前最接近的7月28日,变成2019/7/28,然后计算其与2020/2/8之间的“整”月数差,即6个月。

D29单元格,参数“YD”,忽略年计算天数差,相当于把start_date拉近到end_date前最接近的相同月和相同日的日期。也就是说,将2017/7/28拉近到2019/7/28,然后计算2019/7/28与2020/2/8之间的天数差,即195天。

在使用“MD”“YD”参数计算天数差时,由于闰年的存在,有时会与理想值相差一天,这种情况一般不会影响我们的日常使用。

3、整年、月、日区别

如下图所示,列出了2017/7/28到2020/7/27与2017/7/28到2020/7/28的对比,虽然end_date只差了1天,但是结果有比较大的差异。计算原理相同,要体会“整”字的含义。

整年、月、日区别

这么多参数需要怎么记忆呢?首先要知道这个函数的作用,理解每一个参数的计算原理。如果工作中常常需要计算日期,可以将其打印出来,贴在桌子旁即查即用。


4、案例:工龄计算

假定今天是2019/7/28,每个员工参加工作的日期如下图中C列所示,那么每个人的工龄是多少呢?工龄可表示成m年n个月的形式。

工龄计算

可以分步进行操作。首先计算“整年”数,然后计算“整月” 数。计算月数时需要注意,月数的值最大不会超过11,因为到12个月就是1年了,即要忽略年份的存在来计算月数。那么使用哪个参数计算呢?

从上一节讲的DATEDIF的参数对照表中可以看到,计算整年数使用参数“Y”,而忽略年计算整月数使用“YM”。于是D51单元格的函数公式可以写成:

(左右拖动查看完整公式)

=DATEDIF(C51,”2019/7/28″,”Y”)&” 年 “&DATEDIF(C51,”2019/7/28″,”YM”)&” 个月 ”

我们看一下D54:D56单元格区域,仅相差1天,计算结果便不同。所以使用DATEDIF时,始终要有一个“整”的概念在脑海中。

另外,DATEDIF中的Y、M、D参数,大小写均可以。

5、案例:年假天数计算

《职工带薪年休假条例》规定,职工累计工作已满1年不满10年的,年休假为5天;已满10年不满20年的,年休假为10天;已满20年的,年休假为15天。

同样,假设今天是2019/7/28,那么每名员工的年休假天数分别为多少天呢?

其实这个题目比上一节的案例更简单,只需知道每名员工参加工作的年数即可。

如下图所示,在D66单元格中输入以下公式,计算出每名员工的工作年数:

=DATEDIF(C66,DATE(2019,7,28),”Y”)

年假天数计算

在这里再次强调,如果在公式中使用快捷输入的方式表达日期,必须加双引号,如上节中的“DATEDIF(C51,”2019/7/28″,”Y”)”,如果掌握不了双引号使用,就规规矩矩地使用DATE函数,保证不会出错。

根据D列的年数,可以计算法定年假的天数,在E66单元格中输入以下公式:

=LOOKUP(D66,{0,1,10,20},{0,5,10,15})

标签: DATEDIF Excel教程
Excel将符合条件的结果放到一个单元格
« 上一篇
数据筛选后,还能不能愉快的复制粘贴了?
下一篇 »
  • 如何计算同一单元格中的Excel数据的公式和?
    750466阅读
    在某些表格中,我们需要将所有数据输入到一个单元格中来计算公式,而通用公式是在不同的单元格中计算的。我们应该如何计算这种情况?在这里,小王先生将与大家分享几种常用的方法。1.用户定义的名称首先,输入公式定...
  • 按日期记录的产品销量,SUMIFS帮你按月统计
    703294阅读
    今天,朋友传来EXCEL文件,内有两张工作表,一张是按照日期记录的商品销量,另一张是按月统计的模板,请帮忙统计每种产品的月销量。商品销量记录表:按月统计的模板:关键操作第一步:TEXT函数建立辅助列在日期列前插...
  • excel从字符串中提取数字——数字位于字符串开头
    280925阅读
    本文主要研究从字符串开头提取数字的技术:1. 这些数字是连续的2. 这些连续的数字位于字符串的开头3. 想要的结果是将这些连续的数字返回到单个单元格对于下面研究的每种解决方案,我们需要在两种不同的情况下测试其健...
  • excel按类别分页打印,有时需要强制
    129536阅读
    今天,就有位朋友提出一个很实用的问题:有时候需要按照类别打印,比如以下数据样表,需要按地区分页打印:怎么办?两种方法:一、筛选后打印这种方法,可能大家都会用到:先按照不同地区筛选,筛选一次打印一次。如...
  • Excel表格日期公式和快捷技巧教程
    100566阅读
    Excel表格日期公式和快捷技巧教程1.excel日期的快捷键方法。首先,让我们介绍快捷键的方法(不需要公式)。方法很简单,在细胞里,同时按两个快捷键:Ctrl你可以得到当前日期。注意:1)不需要输入号码。2)其中;在英文...
  • excel公式教程:找到和的加数
    79918阅读
    有时候,我们给出一个目标值,想要知道这个值是已经提供的一系列值中哪几个值的和。如下图1所示,在单元格A2中给出了目标值47,在单元格C1:K1中有9个值,现在我们想知道这些值中哪些值相加等于47,在这些值的下方单元...
  • Excel中F8键的妙用
    47135阅读
    键盘上的键有什么用呢?今天我们一起来看看键在excel表中能发挥什么作用呢?1、使用F8键的功能选取单元格区域:比如:我要选中区域B2:D7这还不简单啊,直接用鼠标选取就行啦,对,没错,但是除了使用鼠标直接选取外,...
  • Excel中Rank函数排名
    31748阅读
    EXCEL中有一个很神奇的函数“RANK”,他能够将数字的排名单独显示在另一列,而且可以去除重名次。所显示的结果是有多少人就显示多少名。下面小编就来与大家分享一下,希望对大家有点帮助。1.返回一列数字的数字排位。...
  • “Excel批处理”成批修改文件名 以帮助您组织文件!
    31411阅读
    操作方法步骤1:首先定义名称,引用位置是[=FILES(‘D:\ my folder \ *。docx ‘)];自己设置驱动器号路径!查看您需要组织文件夹的位置,并设置它!然后,在单元格A1中输入[=INDEX(名称,行(A1))]的引...
  • Excel一学就会的饼图制作技巧
    20238阅读
    如何用饼图来展示任务完成百分比。先看效果:要实现这样的效果,其实很简单,接下来咱们就看看具体的操作过程:步骤1 准备数据源B1单元格中输入完成率,B2单元格中输入公式计算剩余量:=1-B1步骤2 插入饼图步骤3 设置...

如本文对您有帮助,随意赞赏一下!