簡體   English   中英

如何從ISO日期和星期獲取月份

[英]How to get Month from ISO Date and Week

我正在尋找一種將ISO日期轉換為Month的方法,並且還需要將ISO Week轉換為Month。 我需要在Excel和Access中執行此操作。 我發現此公式適用於excel,但將其轉換為Access時不起作用。 有沒有簡單的方法可以做到這一點? 我發現這個Excel公式可以將ISO日期轉換為月份(C2=date) ,並且可以完美地工作:

=MONTH(DATE(YEAR(C2),MONTH(C2)+(WEEKDAY(C2,2)+(DAY(DATE(YEAR(C2),MONTH(C2)+1,0)))-(DAY(C2))<4),(((7-(WEEKDAY(C2,2)))+(DAY(C2)))>3)))

但是,當我為Access查詢修改它時,它不會返回正確的值:

Date_to_Month:MONTH(DATESERIAL(YEAR([WW_Index].[ISO_date]),MONTH([WW_Index].[ISO_date])+(WEEKDAY([WW_Index].[ISO_date],2)+(DAY(DATESERIAL(YEAR([WW_Index].[ISO_date]),MONTH([WW_Index].[ISO_date])+1,0)))-(DAY([WW_Index].[ISO_date]))<4),(((7-(WEEKDAY([WW_Index].[ISO_date],2)))+(DAY([WW_Index].[ISO_date])))>3)))

我還需要將ISO week_year轉換為Month。 我找到了這個公式,但它不起作用:

=MONTH(DATE(YEAR(C2),1,-2)-WEEKDAY(DATE(YEAR(C2),1,3))+D2*7)

例如:2012年第18周是2012年4月30日至2012年5月6日的ISO周。本周少於4月4日,因此2012年第18周是5月。

任何幫助將不勝感激。

我不知道訪問權限,但是您可以使用此公式在excel中更輕松地完成第一部分(日期至月份)

=MONTH(C2-WEEKDAY(C2-1)+4)

那應該更容易轉換以便訪問......

在第二部分中,您找到了相關星期的星期一 ,因此在某些情況下您會輸入錯誤的月份, 星期四 (中點)應始終在正確的月份之內,因此您只需加3就可以了(- 2變成1),即

=MONTH(DATE(YEAR(C2),1,1)-WEEKDAY(DATE(YEAR(C2),1,3))+D2*7)

我假設C2是相關年份內的日期 ,D2是ISO周號,但最好包含C2包含年份,例如2013年,然后就可以使用

=MONTH(DATE(C2,1,1)-WEEKDAY(DATE(C2,1,3))+D2*7)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM