Excelmacros将date分成年份一周
我对这个Excel表格感到非常困难,并试图使用VBA以及Excel函数将date格式化为年,月,周,但是我一直在遇到问题。
我有以下input:
Column1看起来很奇怪的原因是因为我正在尝试使用= MONTH([Date]),但它看起来很奇怪,并不sorting到它应该的月份或周。
如果一切正常,下面是预期的结果。
所以使用date列我想要生成3列:年,月,周
任何想法,如果我在Excel中做错了什么,或者如果有一个简单的方法,在VBA做到这一点?
在A2中的date,在E2中input:
=A2
,格式为“yyyy”
在F2中input:
=A2
,格式为“mm-mmmm”
在G2中input:
="Week " & ROUNDUP(DAY(A2)/7,0)
不知道问题出在哪里,但下面的公式会给你年,月,日。 其中a1包含date
=year(a1) =month(a1) =day(a1)
当然,如果你想让月份用单词而不是数字来显示月份,你可以将单元格格式化为自定义,然后mmm
你正在使用正确的公式,唯一的问题是你的列格式,因为它正确地在评论中指出。 按照以下步骤获取所需的格式
- select列并右键单击“格式单元格”
- 在“编号”标签中,select类别列表中的“自定义”
- input“mm – mmmm”作为types。
你应该得到'12 – 12月'
-
=YEAR([@Date])
公式:=YEAR([@Date])
- 月份公式:
=MONTH([@Date]) & "-" & TEXT([@Date],"mmmm")
- 公式for week:
="Week " & WEEKNUM([@Date],2)-WEEKNUM(EOMONTH([@Date],-1)+1,2)+1
并为每一列使用适当的格式。