|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 checjey 于 2011-11-15 16:50 编辑
之前在论坛里求助相关问题,没有找到正确计算的公式,发现有前辈发布的公式:WORKDAY(L2-1,K2,节假日)-SUMPRODUCT(
(调休<=WORKDAY(L2-1,K2,节假日))*(调休>=L2)))
但实际运用中,发现9月27日开始休假,年休10天,计算结果为10月15日(正确结果为10月13日)。为便于本人工作中的实际,反复测试后,得出下面公式:
=IF(L2=0,"",IF(SUMPRODUCT((调休<=WORKDAY(L2-1,K2,节假日))*(调休>=L2))<K2,WORKDAY(L2-1,K2-SUMPRODUCT(
(调休<=WORKDAY(L2-1,K2,节假日))*(调休>=L2)),节假日),WORKDAY(L2-1,K2,节假日)-SUMPRODUCT(
(调休<=WORKDAY(L2-1,K2,节假日))*(调休>=L2))))
其中:L(列):开始休假日期;K(列):为可年休天数;节假日(或:调休):为定义的数据区名称(方法:选取数据区—插入-名称—定义。。。)。
以上公式在office 2003下测试正确无误。
并解决了,10月8日(周六,调休日)休假2天后截止日期的计算。
有比上面更简单的公式,欢迎交流—本人分享的目的在于得到更好的答案。 |
|