Excel中巧妙计算结算日期,早点完事早下班

发布时间:2020-01-08 来源:网络


今天技巧妹和大家分享一个利用函数公式推算产品结算日期的实际案例。如下图表格所示,不同产品的结算日期有不同的规定:



现在我们需要根据每个产品订单的交货日期来推算对应的结算日期,如下图表格所示:



首先,我们要计算出每个订单交货日期是星期几,并计算出交货日期距离本周结束还有几天时间,输入公式并往下填充:=7-WEEKDAY(C2,2)



接下来根据得出的这个天数加上交货日期计算出当周星期天的日期,输入公式并往下填充:

=7-WEEKDAY(C2,2)+C2



然后可以利用WORKDAY.INTL函数来推算结算日期。先来认识一下这个函数的语法结构:


=WORKDAY.INTL(起始日期,指定的工作日天数,[自定义周末类型],[要排除的假期])


说明:公式中的自定义周末类型,我们可以用字符串来表示,其中0表示工作日,1表示休息日。最后一个参数这里我们可以忽略不写。


A类产品结算规定是交货后的下周一,这里我们可以把交货后的下一个周一假设为工作日,其它都是休息日,公式中的自定义周末类型写成“0111111”,这样我们要计算A类产品的结算日期,也就是把交货日期当周的星期天作为起始日期,间隔1个工作日的这个日期就是该产品订单的结算日期。同理,B类产品是把交货后的下一个周三假设为工作日,自定义周末类型为“1101111”,C类产品则是“1110111”,如下图表格所示:


最后输入公式并往下填充:


=WORKDAY.INTL(7-WEEKDAY(C2,2)+C2,1,VLOOKUP(A2,$F$1:$H$4,3,)&"")



说明:公式中VLOOKUP(A2,Sheet2!$A$2:$C$4,3,)部分是用来查找不同产品对应的自定义周末类型,得出的结果还需要用连字符&加上"",因为WORKDAY.INTL函数公式中的自定义周末类型必须是文本型数字。