日历季度结束紧接任何给定日期之前

时间:2013-11-26 10:35:03

标签: excel date excel-vba vba

基本上我可能有任何约会,我想获得上一季度的适当季度结束日期。

三个例子:

19/07/2013 -> 30/06/2013
30/06/2013 -> 31/03/2013
28/02/2013 -> 31/12/2012

在Excel VBA中,似乎使用DateAdd减去四分之一,只是从日期减去三个月,例如19/07/2013 - > 19/04/2013。这对我没有好处。

  • 您认为最好的方法是什么?
  • 也许提取月份部分然后将其与列表进行比较 可能的宿舍?
  • 或者可能有某种空日期 01/01/2000然后添加指定日期的季度数 显示这个空日期,然后减去一天得到一个 上一个季度末的位置(虽然这可能会导致问题 当日期在一年内翻到12月31日时?)

1 个答案:

答案 0 :(得分:1)

请考虑:

=IF(MOD(MONTH(A1),3)=0,EOMONTH(A1,-3),  
 IF(MOD(MONTH(A1),3)=1,EOMONTH(A1,-1), 
                       EOMONTH(A1,-2)))  

编辑:评论中有一个更好的答案。