如何从日期获取年份季度?


8

在Excel中,如何使用工作表公式从日期获取年份季度?我有一列跨越多年的日期。

  • 1月1日至3月31日=第一季度
  • 4月1日至6月30日=第2季度
  • 等等...

额外的问题:我如何移动季度,所以第一季度是4月至6月(1月至3月是第四季度)。

Answers:


7

根据您格式化日期值的方式,excel可能会自动将其转换为“日期代码”。这是自1900年1月1日(日期代码1)以来的天数。然后,该数字将由不同的Date函数使用。这是用于简单季度分析的建议公式。

= ROUNDUP(MONTH(A1)/ 3,0)

这只会给您四分之一数字。然后,您可以使用CONCATENATE添加文本。

这是一个很棒的教程,其中包含许多示例:

http://www.cpearson.com/excel/DateTimeWS.htm

[编辑]

如@hyperslug所述,一种更好的方法是使用以下方法:

= CONCATENATE(“ Q”,ROUNDUP(MONTH(DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)))/ 3,0))

此方法在获取除以3之前的月份值之前向前或向后移动日期。可以通过更改“ Month(A1)-3”部分来控制季度开始的月份。

  • 一月使用的开始日期:“ Month(A1)”
  • 4月使用的开始日期:“ Month(A1)-3”
  • 9月使用的开始日期:“ Month(A1)+4”

加法和减法均可使用。这是不直观的,但是使用减法会将开始的四分之一向前移动(-1是二月),而通过加法会将其后退(+1是十二月)。

[/编辑]


[编辑]注意:此方法有效,但不如上面的方法好。

经过一番游戏后,我找到了回答您的“奖金问题”的方法。您可以使用IF语句返回基于月份的值(文本/整数)。您只需要弄清楚哪些月份与哪个季度相关联。

= IF(AND(MONTH(A1)> = 4,MONTH(A1)<7),“ Q1”,IF(AND(MONTH(A1)> = 7,MONTH(A1)<10),“ Q2”,IF (AND(MONTH(A1)> = 10),“ Q3”,IF(AND(MONTH(A1)> = 1,MONTH(A1)<4),“ Q4”))))

这是一个密集的方程式,使用“ IF”,“ AND”和“ MONTH”函数的组合。通过修改月份值(在AND语句内部),您可以进一步控制返回哪个值。我使用了文本字符串,但是您可以轻松地对其进行修改以满足您的需求。

[/编辑]

希望这可以帮助


非常感谢-立即使用它!
mtone 2010年

1
=CONCATENATE("Q",ROUNDUP(MONTH(DATE(YEAR(A1),MONTH(A1)-3,DAY(A1)))/3,0))
hyperslug 2010年

哇@hyperslug,那是一种更好的方法。更改第一季度的开始月份所要做的就是从第一个数据计算“ Month(A1)-3”中进行添加或减去。我也很习惯使用IF / TEN语句。
Doltknuckle

2

奖励答案:

=MOD(INT((MONTH(A1)-1)/3)-1,4)+1

1

这应该更有效:

=CONCATENATE("Q", INT(MONTH(A1)/4) + 1)

2
比什么更有效率?您为什么要提出这一主张?
2015年

计算较少(日期转换等),参数数量保持在最低级别,并且更短。虽然,我应该使用INT而不是FLOOR。我先测试一下。
大卫

它有效,我已经更新了答案。
大卫

0

以下公式应该起作用:

=IF(OR(MONTH(A1)=1,MONTH(A1)=2,MONTH(A1)=3),"Q1",IF(OR(MONTH(A1)=4,MONTH(A1)=5,MONTH(A1)=6),"Q2",IF(OR(MONTH(A1)=7,MONTH(A1)=8,MONTH(A1)=9),"Q3",IF(OR(MONTH(A1)=10,MONTH(A1)=11,MONTH(A1)=12),"Q4",""))))

祝好运。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.