[英]Excel - How to convert the combination of year, week number and day of week to calendar day?
[英]week number and year combination
過去在 Excel 的 Weeknumber 和 Year 上提出了幾個問題,但是,我有一個具體的問題我找不到答案。
我正在嘗試獲取 YYWW 格式的年份和周數的組合,例如 1752 或 1801,基於帶有日期的列,如下所示:
Date Year Week
01-01-2018 18 01
02-01-2018 18 01
...
31-12-2018 18 01
年份只需使用日期上的YEAR
function 確定,星期數使用日期上的ISOWEEKNUM
function 確定。 然后是一些進一步的處理,根據年份和周數對數據求和,問題是 2018 年第 1 周也考慮了 2018 年 12 月 31 日的數據,而 12 月 31 日顯然是不是在 2018 年的第 1 周,而是在 2019 年的第 1 周。
所以問題是,我怎樣才能“解決”這個問題,那么我怎樣才能讓 Excel 在 2018 年 12 月 31 日給我 19 和 01? 理想情況下,我正在尋找不涉及任何 VBA 的解決方案。
任何幫助深表感謝!
對於ISO
周數,每周的星期四始終位於“等周年”內,因此對於任何日期,要獲取正確的年份,只需找到該周星期四的年份即可。 您可以這樣做:
=YEAR(A1+3-WEEKDAY(A1;3))
因此,最后,由於尼克和ImaginaryHuman072889的反饋,我像這樣修復了它:
=YEAR(A1)+IF(AND(MONTH(A1)=12;ISOWEEKNUM(A1)=1);1;0)+IF(AND(MONTH(A1)=1;ISOWEEKNUM>=52);-1;0)
我寧願不嵌套IF
語句以提高可讀性,因為無論如何它們永遠不會同時導致TRUE
。
只有其他幾個對我有用的選項:
=YEAR(A1)+AND(MONTH(A1)=12;ISOWEEKNUM(A1)=1)-AND(MONTH(A1)=1;ISOWEEKNUM>=52)
=YEAR(A1)+SWITCH(MONTH(A1)&ISOWEEKNUM(A1);"121";1;"152";-1;"153";-1;0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.