Excel:以年为单位的间隔计数月数

时间:2014-05-13 14:47:59

标签: excel date

我需要创建一个包含两列的电子表格:初始月份/年份和最终月份/年份。 然后我还有另外五列:2009 | 2010 | 2011 | 2012 | 2013
这五列下面的行将具有该年间隔的月数。如果我有2009年1月 - 2011年2月,结果将是:

  

2009 - 12
  2010 - 12
  2011 - 2
  2012 - 0
  2013 - 0

我可以在没有宏的情况下这样做吗?

3 个答案:

答案 0 :(得分:0)

此公式应该有效:

=IF(ROUNDUP(($B2-C$1)/30;0)>12;12;IF(ROUNDUP(($B2-C$1)/30;0)<0;0;ROUNDUP(($B2-C$1)/30;0)))

此公式认为您在日期格式中的A2和结束日期在B2中都有开始日期,您可以使用自定义单元格格式(mmmm / yyyy),因此它看起来像2009年1月。将此公式放在C2中,其标题(单元格C1)应为2009日期格式(01-01-2009)。您可以使用自定义单元格格式(yyyy),使其看起来像2009年。

现在水平拖动此公式,其标题分别为日期格式的2010,2011。

如果您遇到任何问题请告诉我

请注意,您可能需要将公式中的分号(;)更改为逗号(,)

答案 1 :(得分:0)

考虑到C1中的年份:g1(根据需要改变),你可以试试这个公式:

=SUMPRODUCT(N(YEAR(EDATE(Initial_Month_Year,ROW(INDIRECT("1:" &1+DATEDIF(Initial_Month_Year,Final_Month_Year,"m")))-1))=C$1))

在某个单元格中输入,例如C2,并根据需要向右填充。

答案 2 :(得分:0)

在A2和B2中的日期以及仅在C1中的年份在C2中尝试此公式(如果需要,则向下)

=IFERROR(DATEDIF(MAX($A2,DATE(C$1,1,1)),MIN($B2,DATE(C$1,12,31)),"m")+1,0)