如何在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 年中的日期。

如果你想獲得明年一月份的第一天:1st Jan,然後將月份和日期替換為 1.. ,MONTH(A1),DAY(A1)=>,1,1

希望這可以幫助。

相關內容