如何在 Excel 中计算下一年度中给定星期几的第一次出现日期?

如何在 Excel 中计算下一年度中给定星期几的第一次出现日期?

我需要计算单元格 A1 中的日期在下一年中第一次出现在星期几。例如,如果单元格 A1 中的日期恰好是星期四,则计算下一年的第一个星期四;如果单元格 A1 中的日期恰好是星期一,则计算下一年的第一个星期一,依此类推。

我怎样才能做到这一点?

答案1

在我的法语版 Excel 中:

=DATE(ANNEE(A1)+1;1;1)+MOD(7+JOURSEM(A1)-JOURSEM(DATE(ANNEE(A1)+1;1;1));7)

好像是英文版的:

=DATE(YEAR(A1)+1,1,1)+MOD(7+WEEKDAY(A1)-WEEKDAY(DATE(YEAR(A1)+1,1,1)),7)

答案2

我喜欢@CmPi的答案。这是另一种解决方案:

=DATE( 
   YEAR(DATE(YEAR(B1)+1,1,1)),  
   1,  
   MOD(7+WEEKDAY(B1)-WEEKDAY(DATE(YEAR(B1)+1,1,1)),7)+1
)

以下是一个健全性检查:

(日期格式设置为“长格式”,美国地区)

Excel 的健全性检查屏幕截图

在@CmPi 的示例中,他找到了下一年的第一天,并将从第一天到同一星期几的适当天数添加到该日期。在此方法中,我只是在同一日期内设置了第二天。

答案3

尝试这个

=CHOOSE(WEEKDAY(DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")

CHOOSE:从星期几数组中选择日期(DATE:周日、周一、周二等)WEEKDAY:获取由 DATE() 计算的星期几数字 DATE:将年份 +1 添加到 A1,并使 A1 的月份和日期保持不变,并返回 A1 + 1 年中的日期。

如果要获取下一年的 1 月第一天:1st Jan,则将月份和日期替换为 1.. ,MONTH(A1),DAY(A1)=>,1,1

希望这可以帮助。

相关内容