我正在寻找一种将 ISO 日期转换为月的方法,我还需要将 ISO 周转换为月。我需要在 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 周是 ISO 周,即 2012 年 4 月 30 日至 5 月 6 日。本周的 4 月天数少于 4 天,因此 2012 年第 18 周是 5 月。
任何帮助将不胜感激。