本期我们来聊聊Excel中那些比较专业性的日期函数,这里的专业性,其实是在一些专业性的数据报告中比较常用的。我们在本期所要看的案例便是关于财务报告中的发票数据。
第一个要解决的问题是“Due Date”,即发票到期日,此例中的发票将于开出发票当月结束后的十个工作日到期,这里我们将要通过函数EOMONTH来计算当月的最后一天。
在D5单元格中,输入EOMONTH函数,第一个参数为开始日期,第二个参数为月数,如果是当月则输入0,如果是前一个月则输入-1,如果是之后的一个月则输入1,以此类推可以得到之前几个月或之后几个月的月最后一天。
EOMONTH函数只是帮助我们计算出发票日期的当月的最后一天,我们还需要加上十个工作日的时间,因为是十个工作日,所以要考虑周末和节假日的时间在内,故在EOMONTH函数前面嵌套另一个函数WORKDAY或WORKDAY.INTL函数。
WORKDAY和WORKDAY.INTL函数基本一样,后者为更新的一个函数,在高版本的Excel中才有,相比之下增加了一些东西。我们可以简单来对比一下这两个函数的参数要求。
WORKDAY函数有三个参数,分别是开始日期、开始日期之前或之后非周末和节假日的天数以及可选参数“节假日”。
WORKDAY.INTL函数则多了一个可选参数“周末”。
WORKDAY.INTL函数多出的这个可选参数是考虑到一些特殊情况,如没有周末或周末并不设定为WORKDAY函数默认的周六和周日。当然这里的“周末”参数也可自定义,如"0001110"代表的是周六、日、一和五为工作日(数字0),周二、三、四位周末(数字1)。
我们在此例中选择使用WORKDAY.INTL函数,完成整个函数公式。
按Enter键后,再通过快速填充的功能复制公式,完成“Due Date”列的数据填充。
第二个要解决问题是“Reminder Date”,即需要在发票日期的两个月后发出提醒。针对此问题,我们将用到的函数是EDATE(End Date结束日期)。
在E5单元格中,输入EDATE函数,第一个参数为开始日期,第二个参数为月数(开始日期之前或之后)。
按Enter键后,再快速复制函数公式完成整列数据的填充。
关于EDATE函数,我们在后续的更新中会再介绍其与其他函数的结合使用。
在Excel中,以上我们所提到的日期函数EOMONTH、WORKDAY、WORKDAY.INTL、EDATE,虽然并不为所众知,但确是在报表和计算模型中很有帮助的。