更新反映明年的日期并更新特定日期的数据

时间:2015-09-28 19:10:37

标签: excel vba excel-vba

我有一系列特定日期的活动,并想知道Excel中是否有办法更新这些日期以适用于明年(2016年)。一个例子是:改变01/06/2015(1月6日 - 星期二),明年的相应日期为01/05/2016,1月5日 - 也是星期二。

我的下一个问题是可以获取日期并使用它来更新属于它的数据。例如,对于每个星期一,在一年中的其余时间,课程从早上8点开始为特定班级,比如说哲学。

有没有办法在我的Excel工作表上选择每个星期一,选择一个特定的类并更新它?

3 个答案:

答案 0 :(得分:0)

问题1:试试这个=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))

更新: 为了获得同一工作日最接近的明年第一天:=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)+IF(2*ABS(WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1‌​,MONTH(A1),DAY(A1))))<=7,WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))),‌​WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))-7))

对于问题2:添加计算工作日=WEEKDAY(A1)的列,然后对该列应用过滤器

答案 1 :(得分:0)

试试这个:

DateAdd("ww", 52, dDateIn)

它只增加了52周。

如果要在工作表中使用它,请使用此

Public Function GetDateAdd(dDate As Date) As Date

    GetDateAdd = DateAdd("ww", 52, dDate)

End Function

答案 2 :(得分:0)

或者,更好的是,使用它:

=$A$1 + 364

增加52周