分享

Excel应用大全 | 如何计算日期?

 hercules028 2021-10-22
SIMPLE HEADLINE
图片
日期是一种特殊类型的数据,可以直接进行加、减等运算。例如,要计算三天后的日期, 可以使用公式 =TODAY()+3,公式中的 TODAY() 函数用于返回系统当前日期,用当前日期直 接加上 3,得到 3 天后的日期。 
Excel 中的常用日期函数及功能如表 5-5 所示。

5-5 常用日期函数
函数名称
功能
DATE 函数
根据指定的年、月、日返回日期序列值
DATEDIF 函数
计算日期之间的年数、月数或天数
DAY 函数
返回某个日期在一个月中的天数
MONTH 函数
返回日期中的月份
YEAR 函数
返回对应某个日期的年份
TODAY 函数
用于生成系统当前的日期
NOW 函数
用于生成当前日期和时间
EDATE 函数
返回指定日期之前或之后指定月份数的日期
EOMONTH 函数
返回指定日期之前或之后指定月份数的月末日期
WEEKDAY 函数
以数字形式返回指定日期是星期几
WORKDAY 函数
返回指定工作日之前或之后的日期
WORKDAY.INTL 函数
使用自定义周末参数,返回指定工作日之前或之后的日期
NETWORKDAY 函数
返回两个日期之间的完整工作日数
NETWORKDAYS.INTL 函数
使用自定义周末参数返回两个日期之间的完整工作日数
DAYS360 函数
按每年 360 天返回两个日期间相差的天数(每月 30 天)

图片
年月提取
年月提取

示例 5-37据记账日期提取会计期间
会计年度是指以年度为单位进行会计核算的时间区间,是反映单位财务状况、核算经营成果的时间界限,通常自公历 1 1 12 31 日止。会计月是会计分期中会计年度的细化,一般和公历月份相同。
5-58 展示了某企业会计凭证清单的部分内容,假设该企业的会计月和公历月份相同, B 列的记账日期,计算对应的会计年度和会计月。
图片
5-58会计凭证清单
E2 单元格输入以下公式,计算会计年度。=YEAR(B2) 
F2 单元格输入以下公式,计算会计月。同时选中 E2:F2 单元格区域,双击 F2 单元 格右下角的填充柄,将公式填充到数据表最后一行。=MONTH(B2) 
YEAR 函数和 MONTH 函数的作用是根据 B2 单元格的已知日期返回对应的年份和月份。
计算日期间隔
图片
ENJOY THE SUMMER


日常工作中,经常有两个日期间隔的计算,如计算员工工龄、计算转正到期日等。常用 于计算日期间隔的函数有 EDATE 函数、EOMONTH 函数及 DATEDIF 函数等。
示例 5-38计算固定资产本期折旧月数
图5-59 展示了某公司固定资产明细表的部分内容。已知固定资产折旧的计算规则为入 账次月开始计提,使用年限到期后的当月照提折旧,固定资产会计年度为 2018 年。需要根 据 D 列的资产入账日期和 H 列的使用年限,计算该固定资产的本期折旧月数。
图片
5-59固定资产明细表
K2 单元格输入以下公式,向下复制填充到表格最后行。=IFERROR(DATEDIF(MAX(EOMONTH(D2,0)+1,--'2018-1-1'),MIN(--'2019-1- 1',EDATE(EOMONTH(D2,0)+1,H2*12)),'m'),0) 
公式中用到了多个日期类函数的嵌套组合。
EOMONTH 函数的作用是返回指定月数之前或之后月份的最后一天的日期,函数语法 如下。  
EOMONTH(start_date,months) 
第一参数是开始日期,第二参数是开始日期之前或之后的月份数,如果第二参数为正数, 表示生成未来日期,如果为负数将生成过去日期。 
EDATE 函数的作用是根据指定日期,得到相隔指定月份之前或之后的日期。函数语法 与 EOMONTH 函数的语法相同。DATEDIF 函数是一个隐藏函数,用于计算两个日期之间间隔的天数、月数或年数。函 数语法如下。  
DATEDIF(start_date,end_date,unit) 
第一参数是要计算间隔的起始日期。第二参数是要计算间隔的结束日期,结束日期要大 于起始日期,否则将返回错误值#NUM!。第三参数用于指定返回的类型,参数不区分大小写。不同第三参数及返回的结果如表 5-6 所示。
5-6 DATEDIF 函数第三参数和返回的结果
 
unit 参数
函数返回结果
         Y
时间段中的整年数
         M
时间段中的整月数
         D
时间段中的天数
MD
日期中天数的差。忽略日期中的月和年
YM
日期中月数的差。忽略日期中的日和年
YD
日期中天数的差。忽略日期中的年
IFERROR 函数用于屏蔽公式返回的错误值,函数语法如下。  
IFERROR(value,value_if_error) 
第一参数是需要屏蔽错误值的公式,第二参数用于指定当公式计算结果为错误值时要返 回的内容。
在本例中,要计算本期折旧月数,首先要确定本期的折旧开始日期。如果入账日期早于 固定资产会计年度,则本期的折旧开始日期为固定资产会计年度的 1 1 日,否则为实际的 入账日期。如果入账日期加上使用年限后晚于固定资产会计年度,则本期的折旧截止日期为 固定资产会计年度的 12 31 日,否则为实际的到期日期。 
公式中的“MAX(EOMONTH(D2,0)+1,--'2018-1-1')”部分,是 DATEDIF 函数的第一参 数。已知固定资产的折旧是从入账次月开始计提,因此先使用 EOMONTH(D2,0) 计算出入账 当月的月末日期,加 1 后得到次月 1 日的日期。然后用 MAX 函数提取出该日期与 2018 1 1 日两者较大的一个,作为计算折旧月数的起始日期。 
MIN(--'2019-1-1',EDATE(EOMONTH(D2,0)+1,H2*12))”部 分, 是 DATEDIF 函数的 第二参数。先使用“EOMONTH(D2,0)+1”计算出固定资产入账次月 1 日的日期,然后使用 EDATE 函数计算从此日期开始计算的折旧计提到期日期,指定的间隔月份为 H2 单元格的使 用年限乘以 12 的结果。最后使用 MIN 函数提取出折旧计提到期日期与 2019 1 1 日两 者较小的一个,作为计算折旧月数的结束日期。因为 DATEDIF 函数计算结果是日期间隔的 整月数,所以这里的“2019-1-1”要比实际固定资产会计年度的结束日期晚一天。
DATEDIF 函数第三参数使用“M”,表示根据起始日期和结束日期计算间隔的整月数。如果固定资产的折旧计提到期日期早于 2018 1 1 日,DATEDIF 函数将返回错误值。因 此使用 IFERROR 函数来屏蔽错误值,当 DATEDIF 函数结果为错误值时返回 0
图片
END
图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多