我将此功能保存为宏:
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公式?
答案 0 :(得分:4)
如果你只是希望你的公式得到星期五最接近指定日期的日期(但总是在之前),那么你几乎用你的第二个公式得到它,你只需要在公式的第二部分加1 :
=DATE(2016;6;24)+1-WEEKDAY(DATE(2016;6;24)+1;16)
答案 1 :(得分:2)
WORKDAY.INTL(Start_date,Days,Optional Weekend,Optional Holidays)与标准WORKDAY(Start_date,Days,Optional Holidays)的不同之处在于,您可以指定不同的周末天,包括反映自定义工作周的字符串< /强>
在B2中使用
=WORKDAY.INTL(A2,1,"1111011")
A2有日期,1下周五返回,-1返回上周五。在1111011字符串中,1表示从星期一开始的非工作日,而0表示工作日 - 在这种情况下是星期五。