用    Excel中用一个正整数表示年月日,也就是大于0的整数。例如整数1表示1900年1月1日,整数44013表示2020年7月1日。Excel中不支持早于1900年以前的日期表达,如涉及此前日期计算,需要转换计算。

Timestamp 日期减一天 日期函数减一天_日期计算

    日期是一个整数,因此日期可以通过修改单元格格式设置成不同显示效果,如图。如果你发现日期显示为一个整数,可以右键设置单元格格式为日期格式即可。

Timestamp 日期减一天 日期函数减一天_日期格式_02

     标准日期格式的有些人的电脑显示为“/”分隔年月日,有些电脑用“-”分隔,这与电脑设置有关,控制面板——控制面板\时钟、语言和区域——更改日期、时间、数字格式,在其中修改短日期格式即可。

Timestamp 日期减一天 日期函数减一天_日期计算_03

    Excel中如何录入一个日期?可以依次键盘输入2019/7/1,也可以输入2019-7-1,还可以输入19-7-1,这三种输入结果一致。如果仅输入7-1,则默认为本年的日期,即2020年7月1日。

    输入今天日期的快捷键(Ctrl+;(分号)),输入当前时间快捷键(Ctrl+Shif+;),输入当前日期及时间:(Ctrl+;(分号),放开键盘,此时单元格内生成日期,按一下空格键,再按(Ctrl+Shif+;),即可生成日期+时间的格式,如下图演示。

Timestamp 日期减一天 日期函数减一天_Timestamp 日期减一天_04

     输入公式=TODAY(),返回当天的日期,输入公式=NOW()返回一个带当天日期和当前时间的数据。

    常见的不规范日期录入格式2020.07.01,20200701,20.7.1,7.1。对于不规范的日期格式,通常可以通过以下办法转为规范日期格式:

    数据选项卡——分列——分隔符号——下一步——下一步——选择“日期”——完成。也可以通过相关函数公式进行转换。

    为什么开头要说这么多日期的概念,不直接讲解日期计算?只有了解日期的基本概念,才能真正明白日期函数为何这样计算。

    下面我们开始正式进入日期的计算。

一、两个日期的相差天数。

    1.我们前面知道,日期是一个正整数,那么两个日期的相差天数可以用

        整数 减去 整数 进行计算天数,如下图。

Timestamp 日期减一天 日期函数减一天_日期格式_05

    2.除了用相减,还能用Excel中的隐藏函数DATEDIF进行计算。表达式为           DATEDIF(开始日期,结束日期(不能小于开始日期),"D"),其中的D表示日,即英文day。

Timestamp 日期减一天 日期函数减一天_日期格式_06

二、计算两个日期之间相差多少个月、相差多少年。

    公式中的M表示月,即英文Month的首字母

Timestamp 日期减一天 日期函数减一天_Timestamp 日期减一天_07

   公式中的Y表示月,即英文Year的首字母

Timestamp 日期减一天 日期函数减一天_快捷键_08

三、常用日期函数

  1. 函数DATE(年份数字,月份数字,日期数字),例如输入=DATE(2020,12,30)返回的日期是2019-12-30,
    输入=DATE(2021,1,0)返回的是2020-12-31,当日期数字为0时,返回前一天的日期,当要取某一个自然月的最后一天,此方法非常实用。
  2. 函数YEAR(规范的日期数字),函数MONTH(规范的日期数字),
    函数Day(规范的日期数字)。

Timestamp 日期减一天 日期函数减一天_日期计算_09

结合前面的DATE函数,=YEAR(DATE(2020,12,31))返回的结果也一样,也可以用=YEAR(44195)表示,注意44195是2020年12月30日的整数表达形式(单元格常规格式下的显示效果)

Timestamp 日期减一天 日期函数减一天_减一天 日期函数_10

为何不直接输入=YEAR(2020)?注意整数2020表示的是1905年7月12日,2020年12月30日转为整数是44195。

MONTH函数的用法类似,返回的日期中的月份数字1-12,DAY返回的是日期中的天1-31

3.函数搭配获取日期所属月份第一天的日期及最后一天日期、自然月天数

Timestamp 日期减一天 日期函数减一天_日期格式_11

    YEAR(A17)返回年份的数字2020,MONTH(A17)返回月份的数字8,因为是第一天所以DATE函数第三参数直接输入1。

Timestamp 日期减一天 日期函数减一天_日期计算_12

获取当前月份最后一天日期,DATE(2020,8+1,0),我们前面提到DATE第三参数为0时,获取当前月份第一天的前一天,也就是上月最后一天即DATE(2020,9,0)=DATE(2020,8,31),巧妙获得8月最后一天的日期。

Timestamp 日期减一天 日期函数减一天_日期计算_13

    我们要知道一个自然月中有多少天,看当月最后一天是几号即可,

即=DAY(C17)

4.函数EDATE(日期,数字)。此函数主要用于返回指定日期的往后月数的日期,如下图,2020年7月20日为基数,1个月后的日期为2020年8月20日。而2020年1月29日的1个月后是2020-2-29日,2020年1月31日的1个月后的日期也是2020-2-29日,这是因为此函数取得的日期上限为下个月的最后一天

Timestamp 日期减一天 日期函数减一天_日期格式_14

    EDATE在日常中使用并不多,但是也很实用。

5.函数NETWORKDAYS(开始日期,结束日期,可选参数:排除单个日期或者多个日期列表),工作日指周一至周五。

计算2020-7-1至2020-7-5日工作日天数,可以省略第三参数,实际工作日为1、2、3即三天。

Timestamp 日期减一天 日期函数减一天_日期格式_15

计算2020年5月工作日天数,因为5月份有劳动节及调班,故需要使用第三参数进行排除,其中有一天周六补班需加1天。

Timestamp 日期减一天 日期函数减一天_日期计算_16

6.函数WEEKDAY(日期,数字),用于返回数字代表星期几。其中第二参数为数字1时,返回1代表星期日,2代表星期一,........;第二参数为2时,返回1代表星期一,2代表星期二,......。在我国,WEEKDAY的第二参数适用2。

Timestamp 日期减一天 日期函数减一天_日期格式_17

WEEKDAY函数返回的数字,我们可以通过其他函数转为我们平常用的星期一样式。

=IF(B50=7,"星期日","星期"&TEXT(B50,"[DBNUM1]"))

Timestamp 日期减一天 日期函数减一天_日期格式_18

7.两个日期相差用年月日表示

=DATEDIF(A2,B2,"y")&"年"&MOD(DATEDIF(A2,B2,"m"),12)&"月"&DAY(B2)-DAY(A2)&"天"

Timestamp 日期减一天 日期函数减一天_减一天 日期函数_19

本文演示文件表格下载

https://excelbgjq.lanzous.com/i9JoOeo3t4j