我有一个宏,其中询问用户日期,并打开与日期对应的文件并执行一些操作。但是,我没有手动输入日期,而是尝试编写一个excel函数来计算上一个工作日。这是因为我通常输入的日期对应于上一个工作日。
例如,如果今天是星期一,我想要上周的星期五日期 - 其余的工作日到星期五,那就是前一天。周末没有相应的文件。
我该怎么做?
答案 0 :(得分:5)
答案 1 :(得分:0)
在Excel 2010或更高版本中试用:
=IF ( WEEKDAY (A1, 16) > 3 , A1-1 , A1 - WEEKDAY (A1, 16) )
添加16
作为WEEKDAY
的第二个参数设置星期六= 1。
答案 2 :(得分:0)
在VBA中:
Public Function PreviousWeekDay(InputDate As Date) As Integer
Dim Result As Integer
Result = Weekday(InputDate, vbMonday)
If Result = 6 Or Result = 7 Or Result = 1 Then
Result = 5
Else
Result = Result - 1
End If
PreviousWeekDay = Result
End Function
返回1 =星期一,2 =星期二等。
答案 3 :(得分:0)
=IF(WEEKDAY(NOW()-2)>5,NOW()-WEEKDAY(NOW()-6),NOW()-1)
然后只需格式化单元格即可显示