首页 文章

Excel公式输出双周日期和月末

提问于
浏览
-1

我试图找出如何以最干净的方式做到这一点 . 我需要一个公式,该公式将输出每两周一次的日期或本月的最后一个工作日,只要每两周一次的日期不在该日期,并且它发生在下一个双周日期之前 . 将手动输入列表中的第一个日期,公式将使用该日期作为第一个日期 . 例如:

2014年5月15日(手动输入)
2014年5月29日(基于前一单元输出下一个双周日期的公式)
2014年5月30日(根据最后日期输出最后一个工作日的相同公式)
2014年6月12日(..等等)
2014年6月26日
2014年6月30日
2014年7月10日
2014年7月24日
2014年7月31日

我希望这是有道理的 . 我宁愿使用公式而不是VBA来做到这一点 .

1 回答

  • 1

    我几乎不好意思发布这个因为它的绝对长度让我相信一些更高效的东西是可能的 . 但是,如果它对你有帮助,我会发布它 .

    我假设您的列表在 A1 开始,手动输入日期 .

    A2 中,我有以下公式:

    =IF(MONTH(A1+14)=MONTH(A1),A1+14,EOMONTH(A1,0)-IF(WEEKDAY(EOMONTH(A1,0),16)<=2,WEEKDAY(EOMONTH(A1,0),16),0))
    

    然后在 A3 中,我有以下公式(您可以根据需要向下拖动):

    =IF(A2=EOMONTH(A2,0)-IF(WEEKDAY(EOMONTH(A2,0),16)<=2,WEEKDAY(EOMONTH(A2,0),16),0),A1+14,IF(MONTH(A2+14)=MONTH(A2),A2+14,EOMONTH(A2,0)-IF(WEEKDAY(EOMONTH(A2,0),16)<=2,WEEKDAY(EOMONTH(A2,0),16),0)))
    

    祝好运!

    编辑:我还假设非工作日被定义为星期六和星期日(不考虑假期) . 假期会增加一些复杂性 .

相关问题