Excel宏将日期分为年月周

时间:2014-03-19 16:57:48

标签: excel vba excel-vba

我正在使用这个excel表非常困难,并且尝试使用VBA以及Excel函数将日期格式化为年,月,周但我仍然遇到问题。

我有以下输入:enter image description here

Column1看起来很奇怪的原因是因为我正在尝试使用= MONTH([Date])但它看起来很奇怪而且没有按照它应该的月份或周来排序。

如果一切正常,预期结果如下。

enter image description here

因此,使用Date列我想生成3列:Year,Month,Week

知道我在excel中做错了什么或者在VBA中有一个简单的方法吗?

4 个答案:

答案 0 :(得分:1)

不确定问题出在哪里,但以下公式将为您提供年,月和日。其中a1包含日期

=year(a1)
=month(a1)
=day(a1)

当然,如果您希望月份以单词而不是数字显示月份,您可以将单元格格式化为自定义,然后mmm

答案 1 :(得分:1)

日期在 A2 ,在 E2 中输入:

=A2并格式为“yyyy”

F2 中输入:

=A2并格式为“mm-mmmm”

G2 中输入:

="Week " & ROUNDUP(DAY(A2)/7,0)

答案 2 :(得分:0)

  • 年份公式:=YEAR([@Date])
  • 月份公式:=MONTH([@Date]) & "-" & TEXT([@Date],"mmmm")
  • 一周的公式:="Week " & WEEKNUM([@Date],2)-WEEKNUM(EOMONTH([@Date],-1)+1,2)+1

并为每列使用适当的格式。

enter image description here

答案 3 :(得分:0)

您正在使用正确的公式,唯一不对的是您的列格式,因为它在评论中已正确指出。请按照以下步骤获取所需的格式

  1. 选择列,然后右键单击“格式化单元格”
  2. 在'数字'标签选择'自定义'在类别列表中
  3. 输入&mm?mmmmmm'作为类型。
  4. 你应该得到12月12日'