【发布时间】:2014-05-13 14:47:58
【问题描述】:
我需要创建一个包含两列的电子表格:最初的月份/年份和最后的月份/年份。
然后我还有五列:2009 | 2010 | 2011 | 2012 | 2013
这五列下面的行将包含该年间隔中的月数。如果我有 2009 年 1 月 - 2011 年 2 月,结果将是:
2009 - 12
2010 - 12
2011 - 2
2012 - 0
2013 - 0
我可以不使用宏吗?
【问题讨论】:
我需要创建一个包含两列的电子表格:最初的月份/年份和最后的月份/年份。
然后我还有五列:2009 | 2010 | 2011 | 2012 | 2013
这五列下面的行将包含该年间隔中的月数。如果我有 2009 年 1 月 - 2011 年 2 月,结果将是:
2009 - 12
2010 - 12
2011 - 2
2012 - 0
2013 - 0
我可以不使用宏吗?
【问题讨论】:
日期在 A2 和 B2 中,年份仅在 C1 中,在 C2 中尝试这个公式(如果需要,可以向下)
=IFERROR(DATEDIF(MAX($A2,DATE(C$1,1,1)),MIN($B2,DATE(C$1,12,31)),"m")+1,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)应为日期格式(01-01-2009)的 2009。您可以使用自定义单元格格式 (yyyy),使其看起来像 2009。
现在水平拖动这个公式,其标题分别是日期格式的2010,2011。
如果您遇到任何问题,请告诉我
请注意,您可能需要将公式中的分号 (;) 更改为逗号 (,)
【讨论】:
鉴于 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,并根据需要向右填充。
【讨论】: