首页 文章

Excel - 以工作日获取周日开始日期

提问于
浏览
4

我将此功能保存为宏:

Function getWeekdayStartDate(ActualDate As Date) As Date
    Dim WeekdayStartDate As Date
    WeekdayStartDate = DateValue(DateAdd("d", -Weekday(ActualDate, vbFriday) + 1, ActualDate))
    getWeekdayStartDate = WeekdayStartDate
End Function

它给了我一个日期,这是会计期间的第一天有点 .
本周的第一天不是星期一,星期五 .

我试过这些公式:

=DATE(2016; 6; 1)-WEEKDAY(DATE(2016; 6; 1)-6)
=DATE(2016;6;24)+1-WEEKDAY(DATE(2016;6;24);15)

得到这个日期,但没有运气 .

有关如何将此功能转换为excel公式的任何想法?

2 回答

  • 2

    如果你只是希望你的公式得到星期五最接近指定日期的日期(但总是在之前),那么你几乎用第二个公式得到它,你只需要在公式的第二部分加1:

    =DATE(2016;6;24)+1-WEEKDAY(DATE(2016;6;24)+1;16)
    
  • 4

    WORKDAY.INTL(Start_date,Days,Optional Weekend,Optional Holidays)与标准WORKDAY(Start_date,Days,Optional Holidays)的不同之处在于您可以指定不同的周末日 including a string reflecting a custom work week .

    在B2中使用

    =WORKDAY.INTL(A2,1,"1111011")
    

    A2有日期,1下周五返回,-1返回上周五 . 在1111011字符串中,1表示从星期一开始的非工作日,而0表示工作日 - 在本例中为星期五 .

相关问题